我在使用 Xcode 的C++中乞求。尝试使用声明的全局变量时,使用 Xcode C++ 时出错。下面是示例代码。
#include <iostream>
using namespace std;
int count ;
int main()
{
count=1; // reference to 'count' is ambiguous
cout << count; // reference to 'count' is ambiguous
return 0;
}
谢谢。
有一个名为 std::count()
的 STL 算法,由于存在 using namespace std;
指令,编译器现在有两个可用的count
符号可供选择:删除using namespace std;
并使用std::cout
。
有关进一步阅读,请参阅使用 std 命名空间。
删除using namespace std;
或限定变量::count
的使用:
int main()
{
::count=1; // reference to 'count' is ambiguous
cout << ::count; // reference to 'count' is ambiguous
return 0;
}
你会因为std::count
而产生歧义.
删除using namespace std;
并将cout
更改为std::cout
。使用 声明将所有标准库名称拉入全局命名空间,而他们的算法名为 std::count
这可能是问题的根源。一般来说,using namespace std;
是个坏主意。