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_33566608_26781.cpp:127:26: error: 'NT::arbitrary_multiply::base0' is not a valid template argument for type 'const NT::modinfo&' because object 'NT::arbitrary_multiply::base0' has not external linkage
  using mint0=ModInt<base0>;
                          ^
0_0_33566608_26781.cpp:128:26: error: 'NT::arbitrary_multiply::base1' is not a valid template argument for type 'const NT::modinfo&' because object 'NT::arbitrary_multiply::base1' has not external linkage
  using mint1=ModInt<base1>;
                          ^
0_0_33566608_26781.cpp:129:26: error: 'NT::arbitrary_multiply::base2' is not a valid template argument for type 'const NT::modinfo&' because object 'NT::arbitrary_multiply::base2' has not external linkage
  using mint2=ModInt<base2>;
                          ^
0_0_33566608_26781.cpp: In function 'std::vector<_RealType> NT::arbitrary_multiply::multiply(std::vector<_RealType>, const std::vector<_RealType>&, bool)':
0_0_33566608_26781.cpp:149:21: error: 'mint0' was not declared in this scope
   auto d0=_multiply<mint0>(x,y,same);
                     ^
0_0_33566608_26781.cpp:150:21: error: 'mint1' was not declared in this scope
   auto d1=_multiply<mint1>(x,y,same);
                     ^
0_0_33566608_26781.cpp:151:21: error: 'mint2' was not declared in this scope
   auto d2=_multiply<mint2>(x,y,same);
                     ^
0_0_33566608_26781.cpp:153:16: error: 'mint1' does not name a type
   static const mint1 r01=mint1(mint0::mod).inv();
                ^
0_0_33566608_26781.cpp:154:16: error: 'mint2' does not name a type
   static const mint2 r02=mint2(mint0::mod).inv();
                ^
0_0_33566608_26781.cpp:155:16: error: 'mint2' does not name a type
   static const mint2 r12=mint2(mint1::mod).inv();
                ^
0_0_33566608_26781.cpp:156:16: error: 'mint2' does not name a type
   static const mint2 r02r12=r02*r12;
                ^
0_0_33566608_26781.cpp:157:28: error: expected primary-expression before '(' token
   static const mint w1=mint(mint0::mod);
                            ^
0_0_33566608_26781.cpp:157:29: error: 'mint0' is not a class, namespace, or enumeration
   static const mint w1=mint(mint0::mod);
                             ^
0_0_33566608_26781.cpp:158:31: error: expected primary-expression before '(' token
   static const mint w2=w1*mint(mint1::mod);
                               ^
0_0_33566608_26781.cpp:158:32: error: 'mint1' is not a class, namespace, or enumeration
   static const mint w2=w1*mint(mint1::mod);
                                ^
0_0_33566608_26781.cpp:161:19: error: 'mint1' is not a class, namespace, or enumeration
    ull b=(d1[i].v+mint1::mod-a)*r01.v%mint1::mod;
                   ^
0_0_33566608_26781.cpp:161:33: error: 'r01' was not declared in this scope
    ull b=(d1[i].v+mint1::mod-a)*r01.v%mint1::mod;
                                 ^
0_0_33566608_26781.cpp:161:39: error: 'mint1' is not a class, namespace, or enumeration
    ull b=(d1[i].v+mint1::mod-a)*r01.v%mint1::mod;
                                       ^
0_0_33566608_26781.cpp:162:20: error: 'mint2' is not a class, namespace, or enumeration
    ull c=((d2[i].v+mint2::mod-a)*r02r12.v+(mint2::mod-b)*r12.v)%mint2::mod;
                    ^
0_0_33566608_26781.cpp:162:34: error: 'r02r12' was not declared in this scope
    ull c=((d2[i].v+mint2::mod-a)*r02r12.v+(mint2::mod-b)*r12.v)%mint2::mod;
                                  ^
0_0_33566608_26781.cpp:162:44: error: 'mint2' is not a class, namespace, or enumeration
    ull c=((d2[i].v+mint2::mod-a)*r02r12.v+(mint2::mod-b)*r12.v)%mint2::mod;
                                            ^
0_0_33566608_26781.cpp:162:58: error: 'r12' was not declared in this scope
    ull c=((d2[i].v+mint2::mod-a)*r02r12.v+(mint2::mod-b)*r12.v)%mint2::mod;
                                                          ^
0_0_33566608_26781.cpp:162:65: error: 'mint2' is not a class, namespace, or enumeration
    ull c=((d2[i].v+mint2::mod-a)*r02r12.v+(mint2::mod-b)*r12.v)%mint2::mod;
                                                                 ^
0_0_33566608_26781.cpp: At global scope:
0_0_33566608_26781.cpp:170:24: error: 'NT::base' is not a valid template argument for type 'const NT::modinfo&' because object 'NT::base' has not external linkage
  using mint=ModInt<base>;
                        ^
0_0_33566608_26781.cpp:172:21: error: 'mint' was not declared in this scope
  struct Poly:vector<mint>{
                     ^
0_0_33566608_26781.cpp:172:25: error: template argument 1 is invalid
  struct Poly:vector<mint>{
                         ^
0_0_33566608_26781.cpp:172:25: error: template argument 2 is invalid
0_0_33566608_26781.cpp:175:25: error: 'mint' was not declared in this scope
   Poly(initializer_list<mint>init):vector<mint>(init.begin(),init.end()){}
                         ^
0_0_33566608_26781.cpp:175:29: error: template argument 1 is invalid
   Poly(initializer_list<mint>init):vector<mint>(init.begin(),init.end()){}
                             ^
0_0_33566608_26781.cpp:178:24: error: 'mint' does not name a type
   Poly operator+(const mint& r)const{return Poly(*this)+=r;}
                        ^
0_0_33566608_26781.cpp:180:24: error: 'mint' does not name a type
   Poly operator-(const mint& r)const{return Poly(*this)-=r;}
                        ^
0_0_33566608_26781.cpp:182:24: error: 'mint' does not name a type
   Poly operator*(const mint& r)const{return Poly(*this)*=r;}
                        ^
0_0_33566608_26781.cpp:184:24: error: 'mint' does not name a type
   Poly operator/(const mint& r)const{return Poly(*this)/=r;}
                        ^
0_0_33566608_26781.cpp:191:26: error: 'mint' does not name a type
   Poly &operator+=(const mint& rhs){
                          ^
0_0_33566608_26781.cpp:200:26: error: 'mint' does not name a type
   Poly &operator-=(const mint& rhs){
                          ^
0_0_33566608_26781.cpp:210:26: error: 'mint' does not name a type
   Poly &operator*=(const mint& rhs){
                          ^
0_0_33566608_26781.cpp:222:26: error: 'mint' does not name a type
   Poly &operator/=(const mint& rhs){
                          ^
0_0_33566608_26781.cpp:321:3: error: 'mint' does not name a type
   mint coef(int i)const{return i>=size()?mint(0):(*this)[i];}
   ^
0_0_33566608_26781.cpp:322:3: error: 'mint' does not name a type
   mint eval(mint x)const{
   ^
0_0_33566608_26781.cpp: In constructor 'NT::Poly::Poly(Args ...)':
0_0_33566608_26781.cpp:174:28: error: 'mint' was not declared in this scope
   Poly(Args...args):vector<mint>(args...){}
                            ^
0_0_33566608_26781.cpp:174:32: error: template argument 1 is invalid
   Poly(Args...args):vector<mint>(args...){}
                                ^
0_0_33566608_26781.cpp:174:32: error: template argument 2 is invalid
0_0_33566608_26781.cpp:174:33: error: expected '{' before '(' token
   Poly(Args...args):vector<mint>(args...){}
                                 ^
0_0_33566608_26781.cpp: In constructor 'NT::Poly::Poly(int)':
0_0_33566608_26781.cpp:175:43: error: 'mint' was not declared in this scope
   Poly(initializer_list<mint>init):vector<mint>(init.begin(),init.end()){}
                                           ^
0_0_33566608_26781.cpp:175:47: error: template argument 1 is invalid
   Poly(initializer_list<mint>init):vector<mint>(init.begin(),init.end()){}
                                               ^
0_0_33566608_26781.cpp:175:47: error: template argument 2 is invalid
0_0_33566608_26781.cpp:175:48: error: expected '{' before '(' token
   Poly(initializer_list<mint>init):vector<mint>(init.begin(),init.end()){}
                                                ^
0_0_33566608_26781.cpp: In member function 'void NT::Poly::trim()':
0_0_33566608_26781.cpp:176:26: error: 'size' was not declared in this scope
   void trim(){while(size()&&back()==mint(0)) pop_back();}
                          ^
0_0_33566608_26781.cpp:176:34: error: 'back' was not declared in this scope
   void trim(){while(size()&&back()==mint(0)) pop_back();}
                                  ^
0_0_33566608_26781.cpp:176:43: error: 'mint' was not declared in this scope
   void trim(){while(size()&&back()==mint(0)) pop_back();}
                                           ^
0_0_33566608_26781.cpp:176:55: error: 'pop_back' was not declared in this scope
   void trim(){while(size()&&back()==mint(0)) pop_back();}
                                                       ^
0_0_33566608_26781.cpp: In member function 'NT::Poly& NT::Poly::operator+=(const NT::Poly&)':
0_0_33566608_26781.cpp:187:11: error: 'const struct NT::Poly' has no member named 'size'
    if(rhs.size()>size()) resize(rhs.size());
           ^
0_0_33566608_26781.cpp:187:23: error: 'size' was not declared in this scope
    if(rhs.size()>size()) resize(rhs.size());
                       ^
0_0_33566608_26781.cpp:187:37: error: 'const struct NT::Poly' has no member named 'size'
    if(rhs.size()>size()) resize(rhs.size());
                                     ^
0_0_33566608_26781.cpp:187:43: error: 'resize' was not declared in this scope
    if(rhs.size()>size()) resize(rhs.size());
                                           ^
0_0_33566608_26781.cpp:188:22: error: 'const struct NT::Poly' has no member named 'size'
    for(int i=0;i<rhs.size();i++) (*this)[i]+=rhs[i];
                      ^
0_0_33566608_26781.cpp:188:41: error: no match for 'operator[]' (operand types are 'NT::Poly' and 'int')
    for(int i=0;i<rhs.size();i++) (*this)[i]+=rhs[i];
                                         ^
0_0_33566608_267


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-06-01 16:43:38, Gzip enabled