【编译错误合集】

//记录一下方便自己查错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

直译应该是:赋值无效!

应该是给全局变量赋值了,就会出现这个问题】



猜你喜欢

转载自www.cnblogs.com/phemiku/p/10966277.html