尝试使用全局变量时使用Xcode C ++时出错

时间:2012-10-09 16:19:23

标签: c++ xcode global-variables

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

谢谢。

3 个答案:

答案 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;是一个坏主意。