未定義の識別子 'ostream' |未定義の識別子 'cout'



Undefined Identifierostream Undefined Identifiercout



ソースリンク: https://blog.csdn.net/FussyCat/article/details/88309197

問題のあるパフォーマンス

完全なプロジェクトを作成するためにC ++を使用したことはありません。今日は何もすることがなく、C ++プロジェクトを作成して遊んでいました。その結果、単純なプリントアウトがスタックし、ファイル 'iostream.h'、 '' cout 'を開くことができません。 「宣言されていない識別子」、これは一体何なのか。 。 。
画像



最初の問題は、ファイル 'iostream.h'を開くことができないことです。
外部依存関係ファイルが見つかりました。実際にはファイル「iostream.h」はありませんが、「iostream」があります。OK、.hを削除して、再度コンパイルしてください。
その結果、開けないという問題は解消されましたが、2つ目の問題はまだ残っています。

iostreamの使用法を確認するための情報を見つけてください。名前空間stdOKを使用して追加する必要があります。コンパイルは渡され、出力は正常です。
または、名前空間stdを使用せずに、std :: coutの代わりにこれを使用できます。<< 'I look so ugly that i couldn't send pics to you.' << std::endl



#include 'stdafx.h' #include #include #include using namespace std

int _tmain(int argc、_TCHAR * argv [])
{{
費用<< “I look so ugly that i couldn’t send pics to you.” << endl

Sleep(10000) return 0

}

  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 十一
  • 12
  • 13
  • 14

画像



iostreamとiostream.hの違い

まあ、そんなに投げられた後、なぜ他の参照に.hが含まれるのか、そしてなぜiostreamがそれを必要としないのか疑問に思います。
いくつかの情報を見つけました。 Microsoftの公式Webサイトには、iostream.hではなくiostreamライブラリのみがあります。以下は民謡です。 (( オリジナルを引用する )。
C ++標準ライブラリは2回改訂されました。 C92とC99の2つの規格があります。これらのライブラリは両方とも並行して使用されています。 .hにはc92(古いファイル)が含まれています。.hのないヘッダーファイルはc99ヘッダーファイル(新しい標準)です。通常のユーザーの場合、この2つに違いはありません。違いは、内部関数の特定の実装にあります。古いC ++ヘッダーファイルは明らかに公式の使用に反対していますが、古いCヘッダーファイルはそうではありません(Cとの互換性を維持するため)。 Visual C ++ .NET 2003以降、古いiostreamライブラリは削除されたと言われています。 (Microsoftの公式Webサイトでiostream.hが見つからない理由を説明しました...)

|_+_|