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_37830841_10894.cpp: In member function 'constexpr modint<m>& modint<m>::operator++() const':
0_0_37830841_10894.cpp:62:45: error: increment of read-only location '((const modint<m>*)this)->modint<m>::x'
  constexpr modint&operator++()noexcept{if(++x==m)x=0;return *this;}
                                             ^
0_0_37830841_10894.cpp: In member function 'constexpr modint<m>& modint<m>::operator--() const':
0_0_37830841_10894.cpp:63:54: error: decrement of read-only location '((const modint<m>*)this)->modint<m>::x'
  constexpr modint&operator--()noexcept{if(x==0)x=m;--x;return*this;}
                                                      ^
0_0_37830841_10894.cpp: In instantiation of 'constexpr modint<m>& modint<m>::operator*=(const modint<m>&) const [with int m = 1000000007]':
0_0_37830841_10894.cpp:91:83:   required from 'constexpr modint<1000000007> operator*(const modint<1000000007>&, const modint<1000000007>&)'
0_0_37830841_10894.cpp:103:89:   required from here
0_0_37830841_10894.cpp:68:55: error: assignment of member 'modint<1000000007>::x' in read-only object
  constexpr modint&operator*=(const modint&a)noexcept{x=(unsigned long long)x*a.x%m;return *this;}
                                                       ^
0_0_37830841_10894.cpp:68:92: error: invalid initialization of reference of type 'modint<1000000007>&' from expression of type 'const modint<1000000007>'
  constexpr modint&operator*=(const modint&a)noexcept{x=(unsigned long long)x*a.x%m;return *this;}
                                                                                            ^
0_0_37830841_10894.cpp:68:97: error: body of constexpr function 'constexpr modint<m>& modint<m>::operator*=(const modint<m>&) const [with int m = 1000000007]' not a return-statement
  constexpr modint&operator*=(const modint&a)noexcept{x=(unsigned long long)x*a.x%m;return *this;}
                                                                                                 ^
0_0_37830841_10894.cpp: In instantiation of 'constexpr modint<m> modint<m>::inv() const [with int m = 1000000007]':
0_0_37830841_10894.cpp:69:65:   required from 'constexpr modint<m>& modint<m>::operator/=(const modint<m>&) const [with int m = 1000000007]'
0_0_37830841_10894.cpp:92:83:   required from 'constexpr modint<1000000007> operator/(const modint<1000000007>&, const modint<1000000007>&)'
0_0_37830841_10894.cpp:104:50:   required from here
0_0_37830841_10894.cpp:88:2: error: body of constexpr function 'constexpr modint<m> modint<m>::inv() const [with int m = 1000000007]' not a return-statement
  }
  ^
0_0_37830841_10894.cpp: In instantiation of 'constexpr modint<m>& modint<m>::operator+=(const modint<m>&) const [with int m = 1000000007]':
0_0_37830841_10894.cpp:128:29:   required from here
0_0_37830841_10894.cpp:66:55: error: assignment of member 'modint<1000000007>::x' in read-only object
  constexpr modint&operator+=(const modint&a)noexcept{x+=a.x;if(x>=m)x-=m;return *this;}
                                                       ^
0_0_37830841_10894.cpp:66:70: error: assignment of member 'modint<1000000007>::x' in read-only object
  constexpr modint&operator+=(const modint&a)noexcept{x+=a.x;if(x>=m)x-=m;return *this;}
                                                                      ^
0_0_37830841_10894.cpp:66:82: error: invalid initialization of reference of type 'modint<1000000007>&' from expression of type 'const modint<1000000007>'
  constexpr modint&operator+=(const modint&a)noexcept{x+=a.x;if(x>=m)x-=m;return *this;}
                                                                                  ^
0_0_37830841_10894.cpp:66:87: error: body of constexpr function 'constexpr modint<m>& modint<m>::operator+=(const modint<m>&) const [with int m = 1000000007]' not a return-statement
  constexpr modint&operator+=(const modint&a)noexcept{x+=a.x;if(x>=m)x-=m;return *this;}
                                                                                       ^
0_0_37830841_10894.cpp: In instantiation of 'constexpr modint<m>& modint<m>::operator-=(const modint<m>&) const [with int m = 1000000007]':
0_0_37830841_10894.cpp:90:83:   required from 'constexpr modint<1000000007> operator-(const modint<1000000007>&, const modint<1000000007>&)'
0_0_37830841_10894.cpp:174:39:   required from here
0_0_37830841_10894.cpp:67:64: error: assignment of member 'modint<1000000007>::x' in read-only object
  constexpr modint&operator-=(const modint&a)noexcept{if(x<a.x)x+=m;x-=a.x;return *this;}
                                                                ^
0_0_37830841_10894.cpp:67:69: error: assignment of member 'modint<1000000007>::x' in read-only object
  constexpr modint&operator-=(const modint&a)noexcept{if(x<a.x)x+=m;x-=a.x;return *this;}
                                                                     ^
0_0_37830841_10894.cpp:67:83: error: invalid initialization of reference of type 'modint<1000000007>&' from expression of type 'const modint<1000000007>'
  constexpr modint&operator-=(const modint&a)noexcept{if(x<a.x)x+=m;x-=a.x;return *this;}
                                                                                   ^
0_0_37830841_10894.cpp:67:88: error: body of constexpr function 'constexpr modint<m>& modint<m>::operator-=(const modint<m>&) const [with int m = 1000000007]' not a return-statement
  constexpr modint&operator-=(const modint&a)noexcept{if(x<a.x)x+=m;x-=a.x;return *this;}
                                                                                        ^


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-10-06 10:40:05, Gzip enabled