在 csp 的考级提示中,有这么一条要求:
- 定义变量时, 禁止使用的变量名:
y1,x1
,大家有没有思考过这是为什么呢?
详见:/csp/77.html
大家来看样例:
#include <bits/stdc++.h>
using namespace std;
int y1;
int main()
{
return 0;
}
报错信息
编译报错,于是我把y1写成局部变量,对了;然后我再把万能头文件换掉,也对了。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int y1;
return 0;
}
OK,问题缩小为使用万能头文件时定义名为y1的全局变量会出现错误。
经过调试,最后发现是cmath头文件里面定义了y1;