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_37881712_7536.cpp:12:33: error: 'enable_if_t' does not name a type
    template<typename T,typename=enable_if_t<numeric_limits<T>::is_integer>>
                                 ^
0_0_37881712_7536.cpp:12:44: error: expected '>' before '<' token
    template<typename T,typename=enable_if_t<numeric_limits<T>::is_integer>>
                                            ^
0_0_37881712_7536.cpp: In static member function 'static constexpr void mint::fix(int&)':
0_0_37881712_7536.cpp:11:26: error: invalid return type 'void' of constexpr function 'static constexpr void mint::fix(int&)'
    static constexpr void fix(int &x) { x+=(x>>31)&P; }
                          ^
0_0_37881712_7536.cpp: In member function 'constexpr mint& mint::set(const int&) const':
0_0_37881712_7536.cpp:14:48: error: assignment of member 'mint::x' in read-only object
    constexpr mint& set(const int &o) { return x=o, *this; }
                                                ^
0_0_37881712_7536.cpp:14:53: error: invalid initialization of reference of type 'mint&' from expression of type 'const mint'
    constexpr mint& set(const int &o) { return x=o, *this; }
                                                     ^
0_0_37881712_7536.cpp:14:59: error: body of constexpr function 'constexpr mint& mint::set(const int&) const' not a return-statement
    constexpr mint& set(const int &o) { return x=o, *this; }
                                                           ^
0_0_37881712_7536.cpp: In member function 'constexpr mint& mint::operator+=(const mint&) const':
0_0_37881712_7536.cpp:16:62: error: assignment of member 'mint::x' in read-only object
    constexpr mint& operator += (const mint &y) { return fix(x+=y.x-P), *this; }
                                                              ^
0_0_37881712_7536.cpp:16:69: error: no matching function for call to 'mint::fix(const int&) const'
    constexpr mint& operator += (const mint &y) { return fix(x+=y.x-P), *this; }
                                                                     ^
0_0_37881712_7536.cpp:16:69: note: candidate is:
0_0_37881712_7536.cpp:11:26: note: static constexpr void mint::fix(int&)
    static constexpr void fix(int &x) { x+=(x>>31)&P; }
                          ^
0_0_37881712_7536.cpp:11:26: note:   no known conversion for argument 1 from 'const int' to 'int&'
0_0_37881712_7536.cpp:16:79: error: body of constexpr function 'constexpr mint& mint::operator+=(const mint&) const' not a return-statement
    constexpr mint& operator += (const mint &y) { return fix(x+=y.x-P), *this; }
                                                                               ^
0_0_37881712_7536.cpp: In member function 'constexpr mint& mint::operator-=(const mint&) const':
0_0_37881712_7536.cpp:18:62: error: assignment of member 'mint::x' in read-only object
    constexpr mint& operator -= (const mint &y) { return fix(x-=y.x), *this; }
                                                              ^
0_0_37881712_7536.cpp:18:67: error: no matching function for call to 'mint::fix(const int&) const'
    constexpr mint& operator -= (const mint &y) { return fix(x-=y.x), *this; }
                                                                   ^
0_0_37881712_7536.cpp:18:67: note: candidate is:
0_0_37881712_7536.cpp:11:26: note: static constexpr void mint::fix(int&)
    static constexpr void fix(int &x) { x+=(x>>31)&P; }
                          ^
0_0_37881712_7536.cpp:11:26: note:   no known conversion for argument 1 from 'const int' to 'int&'
0_0_37881712_7536.cpp:18:77: error: body of constexpr function 'constexpr mint& mint::operator-=(const mint&) const' not a return-statement
    constexpr mint& operator -= (const mint &y) { return fix(x-=y.x), *this; }
                                                                             ^
0_0_37881712_7536.cpp: In member function 'constexpr mint mint::operator*(const mint&) const':
0_0_37881712_7536.cpp:20:119: error: could not convert 'std::move<long long int>((* &(((long long int)((const mint*)this)->mint::x) * ((long long int)y.mint::x))))' from 'std::remove_reference<long long int>::type {aka long long int}' to 'mint'
    constexpr mint operator * (const mint &y) const { return move(static_cast<long long>(x)*static_cast<long long>(y.x)); }
                                                                                                                       ^
0_0_37881712_7536.cpp:20:122: error: body of constexpr function 'constexpr mint mint::operator*(const mint&) const' not a return-statement
    constexpr mint operator * (const mint &y) const { return move(static_cast<long long>(x)*static_cast<long long>(y.x)); }
                                                                                                                          ^
0_0_37881712_7536.cpp: In member function 'constexpr mint& mint::operator*=(const mint&) const':
0_0_37881712_7536.cpp:21:62: error: passing 'const mint' as 'this' argument of 'mint& mint::operator=(mint&&)' discards qualifiers [-fpermissive]
    constexpr mint& operator *= (const mint &y) { return *this=*this*y; }
                                                              ^
0_0_37881712_7536.cpp:21:69: error: invalid initialization of reference of type 'mint&' from expression of type 'const mint'
    constexpr mint& operator *= (const mint &y) { return *this=*this*y; }
                                                                     ^
0_0_37881712_7536.cpp:21:72: error: body of constexpr function 'constexpr mint& mint::operator*=(const mint&) const' not a return-statement
    constexpr mint& operator *= (const mint &y) { return *this=*this*y; }
                                                                        ^
0_0_37881712_7536.cpp: In instantiation of 'constexpr mint mint::pow(auto:1) const [with auto:1 = int]':
0_0_37881712_7536.cpp:23:52:   required from here
0_0_37881712_7536.cpp:22:139: error: body of constexpr function 'constexpr mint mint::pow(auto:1) const [with auto:1 = int]' not a return-statement
    constexpr mint pow(auto b) const { assert(x>0); mint a(*this),res(move(mint().set(1))); for(;b;b>>=1,a*=a) if(b&1) res*=a; return res; }
                                                                                                                                           ^
0_0_37881712_7536.cpp: At global scope:
0_0_37881712_7536.cpp:34:27: error: could not convert '1' from 'int' to 'mint'
 const mat I={{{1,0},{0,1}}},T={{{2,1},{1,1}}};
                           ^
0_0_37881712_7536.cpp:34:27: error: could not convert '0' from 'int' to 'mint'
0_0_37881712_7536.cpp:34:27: error: could not convert '0' from 'int' to 'mint'
0_0_37881712_7536.cpp:34:27: error: could not convert '1' from 'int' to 'mint'
0_0_37881712_7536.cpp:34:45: error: could not convert '2' from 'int' to 'mint'
 const mat I={{{1,0},{0,1}}},T={{{2,1},{1,1}}};
                                             ^
0_0_37881712_7536.cpp:34:45: error: could not convert '1' from 'int' to 'mint'
0_0_37881712_7536.cpp:34:45: error: could not convert '1' from 'int' to 'mint'
0_0_37881712_7536.cpp:34:45: error: could not convert '1' from 'int' to 'mint'
0_0_37881712_7536.cpp: In function 'int main()':
0_0_37881712_7536.cpp:104:21: error: could not convert '0' from 'int' to 'mint'
       vec x=(vec{0,1})*calc(ban[0].first-1);
                     ^
0_0_37881712_7536.cpp:104:21: error: could not convert '1' from 'int' to 'mint'
0_0_37881712_7536.cpp:108:23: error: could not convert '1' from 'int' to 'mint'
          vec x=vec{1,0}*calc(ban[i].first-ban[i-1].second-1);
                       ^
0_0_37881712_7536.cpp:108:23: error: could not convert '0' from 'int' to 'mint'
0_0_37881712_7536.cpp:111:16: error: could not convert '1' from 'int' to 'mint'
       x=vec{1,0}*calc(n-ban[ban.size()-1].second);
                ^
0_0_37881712_7536.cpp:111:16: error: could not convert '0' from 'int' to 'mint'
0_0_37881712_7536.cpp: In instantiation of 'mint operator*(const auto:6&, const auto:7&) [with auto:6 = int; auto:7 = mint]':
0_0_37881712_7536.cpp:105:21:   required from here
0_0_37881712_7536.cpp:28:86: error: no matching function for call to 'mint::mint(const int&)'
    friend mint operator * (const auto &i,const auto &j) { return static_cast<mint>(i)*static_cast<mint>(j); }
                                                                                      ^
0_0_37881712_7536.cpp:28:86: note: candidates are:
0_0_37881712_7536.cpp:13:17: note: template<class T, class> constexpr mint::mint(const T&)
       constexpr mint(const T &o): x(o<0?o%P+P:o%P) {}
                 ^
0_0_37881712_7536.cpp:13:17: note:   template argument deduction/substitution failed:
0_0_37881712_7536.cpp:10:14: note: constexpr mint::mint()
    constexpr mint(): x(0) {}
              ^
0_0_37881712_7536.cpp:10:14: note:   candidate expects 0 arguments, 1 provided
0_0_37881712_7536.cpp:6:8: note: constexpr mint::mint(const mint&)
 struct mint
        ^
0_0_37881712_7536.cpp:6:8: note:   no known conversion for argument 1 from 'const int' to 'const mint&'
0_0_37881712_7536.cpp:6:8: note: constexpr mint::mint(mint&&)
0_0_37881712_7536.cpp:6:8: note:   no known conversion for argument 1 from 'const int' to 'mint&&'


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-23 02:12:35, Gzip enabled