刚才打cf时,做到第一题就出现一个离奇错误,如下代码,error显示全局变量名y1重复声明
题目链接:https://codeforces.com/contest/1767/problem/A
#include <bits/stdc++.h>
using namespace std;
int t,x1,x2,x3,y1,y2,y3;
int main(){
cin>>t;
while(t--){
cin>>x1>>y1;
cin>>x2>>y2;
cin>>x3>>y3;
int cnt=0;
if(x1==x2||x2==x3||x1==x3)cnt++;
if(y1==y2||y2==y3||y1==y3)cnt++;
if(cnt!=2)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
以下是部分报错信息
a.cpp:3:16: error: 'int y1' redeclared as different kind of entity
3 | int t,x1,x2,x3,y1,y2,y3;
| ^~
In file included from /usr/include/features.h:374,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:524,
from /usr/include/c++/9/cassert:43,
from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:33,
from a.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:241:1: note: previous declaration 'double y1(double)'
241 | __MATHCALL (y1,, (_Mdouble_));
| ^~~~~~~~~~
a.cpp: In function 'int main()':
这说明做题时全局变量名不要随便创建,能够声明在main函数里面的就尽量声明在函数内部