代码:
#include<iostream>
using namespace std;
int move=0;
void main()
{
++move;
}
我如何克服这个问题?
答案 0 :(得分:1)
停止输入using namespace std;
之所以发生这种情况,是因为您将namespace std
中的大量符号注入到全局命名空间中,然后碰巧使用其中一个符号。 std
很大,任何标题都可以包含任何其他标题。根本不要using namespace std;
。
如果必须,可以在函数中本地执行,或者在函数中本地显式更好using std::what_you_need;
。
答案 1 :(得分:0)
尝试在变量名称之前使用::
,意味着来自全局名称空间。
正确的代码:
#include<iostream>
using namespace std;
int move=0;
int main()
{
++::move;
return 0;
}
或者
#include<iostream>
using namespace std;
int move=0;
int main()
{
using ::move;
++move;
return 0;
}