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選択できる 2 つのシンボルを使用できるようになりました: removeusing namespace std;と usestd::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 に答える