F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_36538966_18012.cpp: In instantiation of 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get_r() [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]':
0_0_36538966_18012.cpp:37:36:   required from 'constexpr const u32 MontgomeryModInt32<998244353u>::r'
0_0_36538966_18012.cpp:40:22:   required from 'struct MontgomeryModInt32<998244353u>'
0_0_36538966_18012.cpp:959:12:   required from here
0_0_36538966_18012.cpp:35:5: error: body of constexpr function 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get_r() [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]' not a return-statement
     }
     ^
0_0_36538966_18012.cpp: In instantiation of 'constexpr const u32 MontgomeryModInt32<998244353u>::r':
0_0_36538966_18012.cpp:40:22:   required from 'struct MontgomeryModInt32<998244353u>'
0_0_36538966_18012.cpp:959:12:   required from here
0_0_36538966_18012.cpp:37:36: error: 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get_r() [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]' called in a constant expression
     static constexpr u32 r = get_r(), r2 = -u64(P) % P;
                                    ^
0_0_36538966_18012.cpp:28:26: note: 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get_r() [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]' is not usable as a constexpr function because:
     static constexpr u32 get_r() {
                          ^
0_0_36538966_18012.cpp: In instantiation of 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::reduce(MontgomeryModInt32<P>::u64) [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int; MontgomeryModInt32<P>::u64 = long long unsigned int]':
0_0_36538966_18012.cpp:98:27:   required from 'constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get() const [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]'
0_0_36538966_18012.cpp:963:24:   required from here
0_0_36538966_18012.cpp:93:5: error: body of constexpr function 'static constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::reduce(MontgomeryModInt32<P>::u64) [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int; MontgomeryModInt32<P>::u64 = long long unsigned int]' not a return-statement
     }
     ^
0_0_36538966_18012.cpp: In instantiation of 'constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get() const [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]':
0_0_36538966_18012.cpp:963:24:   required from here
0_0_36538966_18012.cpp:100:5: error: body of constexpr function 'constexpr MontgomeryModInt32<P>::u32 MontgomeryModInt32<P>::get() const [with unsigned int P = 998244353u; MontgomeryModInt32<P>::u32 = unsigned int]' not a return-statement
     }
     ^
0_0_36538966_18012.cpp: In instantiation of 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]':
0_0_36538966_18012.cpp:978:8:   required from here
0_0_36538966_18012.cpp:108:18: error: assignment of member 'MontgomeryModInt32<998244353u>::v' in read-only object
         return v = rhs.v, *this;
                  ^
0_0_36538966_18012.cpp:108:28: error: invalid initialization of reference of type 'MontgomeryModInt32<998244353u>&' from expression of type 'const MontgomeryModInt32<998244353u>'
         return v = rhs.v, *this;
                            ^
0_0_36538966_18012.cpp:109:5: error: body of constexpr function 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]' not a return-statement
     }
     ^
0_0_36538966_18012.cpp: In instantiation of 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator*=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]':
0_0_36538966_18012.cpp:139:40:   required from 'MontgomeryModInt32<998244353u> operator*(const MontgomeryModInt32<998244353u>&, const MontgomeryModInt32<998244353u>&)'
0_0_36538966_18012.cpp:968:27:   required from here
0_0_36538966_18012.cpp:124:18: error: assignment of member 'MontgomeryModInt32<998244353u>::v' in read-only object
         return v = reduce(u64(v) * rhs.v), *this;
                  ^
0_0_36538966_18012.cpp:124:45: error: invalid initialization of reference of type 'MontgomeryModInt32<998244353u>&' from expression of type 'const MontgomeryModInt32<998244353u>'
         return v = reduce(u64(v) * rhs.v), *this;
                                             ^
0_0_36538966_18012.cpp:125:5: error: body of constexpr function 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator*=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]' not a return-statement
     }
     ^
0_0_36538966_18012.cpp: In instantiation of 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator+=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]':
0_0_36538966_18012.cpp:363:28:   required from 'std::vector<MontgomeryModInt32<P> > mul(const std::vector<MontgomeryModInt32<P> >&, const std::vector<MontgomeryModInt32<P> >&) [with unsigned int P = 998244353u]'
0_0_36538966_18012.cpp:862:20:   required from 'std::vector<MontgomeryModInt32<P> > operator*(const std::vector<MontgomeryModInt32<P> >&, const std::vector<MontgomeryModInt32<P> >&) [with unsigned int P = 998244353u]'
0_0_36538966_18012.cpp:1008:40:   required from here
0_0_36538966_18012.cpp:118:18: error: assignment of member 'MontgomeryModInt32<998244353u>::v' in read-only object
         return v += rhs.v - (P << 1), v += P << 1 & -(v >> 31), *this;
                  ^
0_0_36538966_18012.cpp:118:41: error: assignment of member 'MontgomeryModInt32<998244353u>::v' in read-only object
         return v += rhs.v - (P << 1), v += P << 1 & -(v >> 31), *this;
                                         ^
0_0_36538966_18012.cpp:118:66: error: invalid initialization of reference of type 'MontgomeryModInt32<998244353u>&' from expression of type 'const MontgomeryModInt32<998244353u>'
         return v += rhs.v - (P << 1), v += P << 1 & -(v >> 31), *this;
                                                                  ^
0_0_36538966_18012.cpp:119:5: error: body of constexpr function 'constexpr MontgomeryModInt32<P>& MontgomeryModInt32<P>::operator+=(const MontgomeryModInt32<P>&) const [with unsigned int P = 998244353u]' not a return-statement
     }
     ^


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-26 11:29:39, Gzip enabled