1

我是使用 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;
}

谢谢你。

4

3 回答 3

4

有一个名为的 STL 算法std::count(),并且由于有一个using namespace std;指令,编译器现在有两个可用的count符号可供选择:删除using namespace std;和使用std::cout

有关进一步阅读,请参阅使用 std 命名空间。

于 2012-10-09T16:22:42.623 回答
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.

于 2012-10-09T16:22:23.480 回答
1

删除using namespace std;并更改coutstd::cout。using 声明将所有标准库名称拉入全局命名空间,它们的算法命名std::count可能是问题的根源。一般来说,using namespace std;是个坏主意。

于 2012-10-09T16:23:50.653 回答