私は私のプログラミングの割り当ての「ドライバー」の部分に取り組んでいますが、この不合理なエラーが発生し続けます:
エラーC2065: 'cout':宣言されていない識別子
私もstd :: coutを使用しようとしましたが、次のようなエラーが表示されます:IntelliSense:namespace "std" has no member "cout"iostreamを含むネームスペースstdを使用 +私はostreamを使用しようとしました
私はそれが標準的な初心者の質問であることを知っていますが、これは私を困惑させ、私は初心者です(つまり、私は以前にプログラミングしたことがあります...)
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
私はVisual Studio 2010を使用し、Windows 7を実行しています。すべての.hファイルには「using namespace std」があり、iostreamとostreamが含まれています。
Visual Studioでは、#include "stdafx.h"
で、かつcppファイルの最初のインクルードである必要があります。たとえば:
これらはnot動作します。
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
#include <iostream>
#include "stdafx.h"
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
これで十分です。
#include "stdafx.h"
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
このコードを書くと、完璧に機能します。
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!";
return 0;
}
Visual Studio C++ 2010でも同じ問題が発生しました。修正は簡単です。 main()関数の上では、標準のインクルード行を以下のように置き換えますが、インクルードの前にポンド記号があります。
# include "stdafx.h"
# include <iostream>
using namespace std;
include "stdafx.h"
は大丈夫です
ただし、using namespace std
を含めない限り、cout
は使用できません。
名前空間stdを含めていない場合は、単純なcout
の代わりにstd::cout
を記述する必要があります
#include "stdafx.h"
行を必要とするプロジェクトを開始した場合は、最初に配置してください。
あなたが使用する場合、私はそれを見てきました
#include <iostream.h>
その後、問題が発生します。
使用する場合
#include <iostream>
(注意-.hなし)
その後、あなたが言及した問題は発生しません。
C++コードで.cファイル拡張子を使用しているときに、同様のことが起こるのを見てきました。それ以外は、バグのあるインストールについて全員に同意する必要があります。 VSの以前のリリースでプロジェクトをコンパイルしようとすると機能しますか? VC++ Express 2008をお試しください。msdnで無料です。
私の場合、このような愚かな解決策:
// Example a
#include <iostream>
#include "stdafx.h"
上記は、下の例bに似るように変更したとき、例aに従ってわれました...
// Example b
#include "stdafx.h"
#include <iostream>
私のコードは魅力のようにコンパイルされました。それを試して、動作することが保証されています。
以下のコードは、gccを使用して適切にコンパイルおよび実行されます。これをコピー/ペーストしてみて、動作するかどうかを確認してください。
#include <iostream>
using namespace std;
int bob (int a) { cout << "hey" << endl; return 0; };
int main () {
int a = 1;
bob(a);
return 0;
}
含める唯一のファイルがiostreamであり、まだundefinedと表示されている場合、iostreamには本来の内容が含まれていない可能性があります。プロジェクトに偶然「iostream」という名前の空のファイルがある可能性はありますか?
このプログラムを開始する前に、すべてのコードを取り除き、main内で単純なハローワールドを実行します。 iostreamのみを使用し、名前空間stdを使用します。問題を見つけるために少しずつ追加します。
cout << "hi" << endl;
VS2010、ベータ1およびベータ2(1つは作業用マシンに、もう1つは自宅にあります)を使用し、std
を問題なくたくさん使用しました。入力してみてください:
std::
Intellisenseが何かを提供するかどうかを確認します。通常のもの(abort
、abs
、acos
など)が提供される場合、cout
を除くthatは非常に困惑しています。その場合は、必ずC++ヘッダーを調べてください。
それを超えて、通常の空のプロジェクト(Intellisenseが機能しないCLRではない)を実行していること、実際にbuildプロジェクトを少なくとも1回実行したことを確認するために追加します。 。コメントで述べたように、VS2010はinclude
;を追加するとファイルを解析します。何かがパーサーに引っかかって、cout
をすぐに「見つけられなかった」可能性があります。 (この場合、VSを再起動してみてください?)
Ms c ++ 2010プロジェクトをゼロから開始するときに同じ問題が発生しました-msによって生成されたヘッダーファイルをすべて削除しましたが、使用しました:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
cout << "hey" << endl;
return 0;
}
stdafx.h
を含める必要がありました。
コードを取る
#include <iostream>
using namespace std;
.cppファイルからヘッダーファイルを作成し、これを.hファイルに配置します。それから加えて
#include "whatever your header file is named.h"
.cppコードの先頭。その後、再度実行します。
プロジェクトを作成したときに、「プリコンパイル済みヘッダーを使用する」を正しく設定していませんでした。 properties-> C/C++-> precompiled headersで変更します。
C++としてコンパイルしますか?ファイル名を確認してください(.cpp
で終わる必要があります)。プロジェクトの設定を確認してください。
プログラムには何も問題はありません。cout
はnamespace std
にあります。 VS 2010 Beta 2のインストールに欠陥がありますが、これは単なるインストールではないと思います。
VS 2010はまだC++に対応していないと思います。標準の「Hello、World」プログラムはベータ1では機能しませんでした。テストWin32コンソールアプリケーションを作成しようとしましたが、生成されたtest.cpp
ファイルにはmain()
関数がありませんでした。
私はVS 2010について本当に、本当に悪い気持ちを持っています。
それを試して、それは動作します。 Windows XP、Visual Studio 2010 Expressで確認しました。
#include "stdafx.h"
#include <iostream>
using namespace std;
void main( )
{
int i = 0;
cout << "Enter a number: ";
cin >> i;
}
コードの先頭に次の行を挿入して、stdライブラリを含めます。
using namespace std;
Visual Studioでは、「stdafx.h」の下のすべてのヘッダーファイラーを使用します。
通常、C:\ Program Files\Microsoft Visual Studio 8\VC\includeフォルダーに保存されます。最初にまだ存在するかどうかを確認します。次に、[ツール+オプション]、[プロジェクトとソリューション]、[VC++ディレクトリ]を選択し、[ディレクトリを表示]コンボボックスで[ファイルを含める]を選択し、$(VCInstallDir)includeがリストの先頭にあることを再確認します。
私は同じ問題を抱えていたのでここに来ましたが、#include "stdafx.h"
を実行したとき、そのファイルが見つからなかったと言いました。
私にとってのトリックは:#include <algorithm>
。
Microsoft Visual Studio 2008を使用しています。
これらは、その時点で使用できるものです。 「カウント」: リンク
2010年にインストールしたばかりで、ほぼ同じプログラムを機能させようとした後、このエラーに遭遇しました。
以前、UnixスタイルのボックスでVanilla Cコーディングを行ったことがありますが、これを少し自分で試してみることにしました。
私が試した最初のプログラムは:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World!";
return 0;
}
ここで注意すべき大きなことは、Cコーディングを行ったことがある場合は、
int _tmain(int argc, _TCHAR* argv[])
変に見える。そのはず:
int main( int argc, char ** argv )
私の場合、プログラムを次のように変更しました。
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world from VS 2010!\n";
return 0;
}
そして、それはうまくいきました。
注:Ctrlキーを押しながらF5キーを押すと、コンソールウィンドウが固定され、結果を確認できます。
printf
を使用してください!
printf
のstdio.h
ヘッダーファイルにstdafx.h
を含めます。