2017-09-28 4 views
0

問題は本当に奇妙です。'std :: cout'の宣言に明示的な資格があります

コードは、できるだけ簡単である:それはスタンダールのcppプロジェクトから作成されるよう

#include <iostream> 

using namespace std; 

int main() 
{ 
    cout << "Hello World!" << endl; 
    return 0; 
} 

それはちょうどのHelloWorldされます。 私はそれが働いたと確信しています。プロジェクトではなく、

いくつかの助けのiostream

の内側ではありません

error: explicit qualification in declaration of 'std::cout' 
    extern ostream std::cout; /// Linked to standard output 

面白いこと:しかし、いくつかの時間後、私はエラーを得た(本当に... chagedたものを覚えていませんか)?^_^

私はブーストライブラリを構築し、私は同じエラーを取得していますファイルの多くのためだった.new情報: :「のstd :: coutの」

の宣言で明示的な資格、私が使用してMinGWの

頭に浮かぶ
+0

投稿した内容は問題ありません。投稿していないコードがあります。何か疑問がある場合は、新しいプロジェクトを作成し、そこに投稿したものをそのまま貼り付けてください。それでもエラーが出るかどうか確認してください。 –

+0

IDEのプロジェクト設定を変更したのでしょうか? – Galik

+0

私の最初のプログラムコードはC++で:) :) –

答えて

1

のみ説明は次のとおり

  1. 誰かが標準ヘッダを変更し、元の

    を交換する(誤って?)間違った

    extern ostream std::cout; 
    
  2. は、誰かがコンパイラのコマンドラインの中で最も可能性の高い、std::coutとしてcoutという名前のマクロを定義しました。例えば。例えば、http://coliru.stacked-crooked.com/a/bc5be8c7d99fed53を参照のこと。

+0

あなたは男です!ありがとうございました! 私はstd :: coutでcoutを変更するためにリファクタリングを使用していました...そしてiostreamの内部でも変更されました... Stupid user))))) –

関連する問題