编译错误合集
//记录一下方便自己查错qwq
1. name lookup of '变量名' changed [enabled by default]3.
【如果在局部作用域嵌套了同名局部变量会出现这个错误 ,也就是说出现了重定义】
2.reference to "xx" is ambiguous
【定义的变量名可能是函数库里的函数名】
【一个栗子】
1 //印象这鬼一样的排版emmmm #include<bits/stdc++.h> 2 using namespace std; 3 int a[1000]; 4 int root,maxroot,n,m,x,y,MAX,sum; 5 int main() 6 { 7 ios::sync_with_stdio(false); 8 cin>>n>>m; 9 for(int i=1;i<=m;i++) 10 { 11 cin>>x>>y; 12 a[y]=x; 13 } 14 for(int i=1;i<=n;i++) 15 { 16 if(a[i]==0){root=i;break; 17 } 18 }cout<<root<<endl; 19 for(int i=1;i<=n;i++) 20 { 21 sum=0; 22 for(int j=1;j<=n;j++) 23 { 24 if(a[j]==i)sum++; 25 } 26 if(sum>MAX){MAX=sum;maxroot=i; //警察蜀黍就是他!max!**为什么把max当变量会出现标题的问题呢?**因为函数库里包含max这个函数,用它会引起歧义啊淦! 27 } 28 }cout<<maxroot<<endl; 29 for(int i=1;i<=n;i++) 30 { 31 if(a[i]==maxroot)cout<<i<<" "; 32 } 33 }
3.[Error] statement has no effect
【直译应该是:赋值无效!】
4. [Error] invalid types 'int[int]' for array subscript
【出现这个错误真的是很粗心呀!
应该是定义了二维数组结果用的时候写成了一维,或者反之。】
5. [Error] variable-sized object 'dv' may not be initialized
用定义数组的时候使用变量来定义数组长度。
举个栗子: int a[i] = d[i] - d[i-1];
6. (待填坑)[Error] expected primary-expression before 'return
(暂时没有找出错误原因
满堂花醉三千客,一剑霜寒十四州