我是使用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;
}
谢谢。
答案 0 :(得分:4)
有一个名为std::count()
的STL算法,并且有using namespace std;
指令,编译器现在有两个可用的count
符号可供选择:删除using namespace std;
并使用std::cout
。
有关详细信息,请参阅Using std Namespace。
答案 1 :(得分:1)
删除using namespace std;
或限定使用变量::count
:
int main()
{
::count=1; // reference to 'count' is ambiguous
cout << ::count; // reference to 'count' is ambiguous
return 0;
}
由于std::count
,你得到了歧义。
答案 2 :(得分:1)
删除using namespace std;
并将cout
更改为std::cout
。使用声明将所有标准库名称拉入全局名称空间,它们的名为std::count
的算法可能是问题的根源。一般来说,using namespace std;
是一个坏主意。