76

私はプログラミングの割り当ての「ドライバー」の部分に取り組んでいますが、このばかげたエラーが発生し続けます。

エラーC2065:'cout':宣言されていない識別子

std :: coutを使用しようとしましたが、次のような別のエラーが発生します: IntelliSense:名前空間stdを使用して宣言した場合、名前空間"std"にはメンバー"cout"がありません。iostreamが含まれています+ ostreamを使用しようとしました

私はそれが標準的な初心者の質問であることを知っていますが、これは私を困惑させ、私は初心者です(つまり、私は以前にプログラムしたことがあります...)

#include <iostream>
using namespace std;

int main () {
    cout << "hey" << endl;
 return 0;
}

Visual Studio 2010を使用していて、Windows7を実行しています。すべての.hファイルには「usingnamespacestd」があり、iostreamとostreamが含まれています。

4

26 に答える 26

67

Visual Studioでは、cpp ファイルの最初のインクルードである必要があり#include "stdafx.h"ます。例えば:

これらは機能しません

#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;
}

stdafx.h ヘッダーの機能に関する優れた回答を次に示します。

于 2014-10-22T21:19:47.457 に答える
48

このコードを書くと、完全に動作します..

#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
 cout<<"Hello World!";
  return 0;
}
于 2011-02-21T18:18:16.390 に答える
11

Visual Studio C++ 2010 でも同じ問題がありました。簡単に修正できます。main() 関数の上で、標準のインクルード行を下のこれに置き換えますが、インクルードの前にシャープ記号を付けます。

# include "stdafx.h"
# include <iostream>
using  namespace std;
于 2011-07-04T08:02:25.517 に答える
10

大丈夫include "stdafx.h"です

coutただし、含まれていないと使用できませんusing namespace std

名前空間 std を含めていない場合はstd::cout、シンプルの代わりに記述する必要がありますcout

于 2013-09-16T17:18:59.133 に答える
4

#include "stdafx.h"ラインを必要とするプロジェクトを開始した場合は、最初に配置します。

于 2010-11-26T06:03:31.070 に答える
4

あなたが使用する場合、私はそれを見ました

#include <iostream.h>

その後、問題が発生します。

使用する場合

#include <iostream>  

(注意 - .h なし)

その後、あなたが言及した問題は発生しません。

于 2010-11-10T00:19:48.590 に答える
3

C++ コードで .c ファイル拡張子を使用していたときに、同様のことが起こるのを見てきました。それ以外は、バグのあるインストールについては全員に同意する必要があります。VS の以前のリリースでプロジェクトをコンパイルしようとすると機能しますか? VC++ Express 2008 を試してみてください。msdn では無料です。

于 2009-12-08T21:09:20.740 に答える
3

以下のコードは、gcc を使用して適切にコンパイルおよび実行されます。これをコピーして貼り付けて、動作するかどうかを確認してください。

#include <iostream>
using namespace std;

int bob (int a) { cout << "hey" << endl; return 0; };

int main () {
    int a = 1;
    bob(a);
    return 0;
}
于 2009-12-08T17:51:54.397 に答える
3

インクルードする唯一のファイルが iostream であり、それでも未定義と表示される場合は、iostream に本来あるべきものが含まれていない可能性があります。プロジェクトに偶然にも「iostream」という名前の空のファイルがある可能性はありますか?

于 2009-12-08T18:05:18.647 に答える
2

このプログラムを開始する前に、すべてのコードを取り除き、main内で単純なhelloworldを実行してください。iostreamとusingnamespacestd;のみを含めます。問題を見つけるために少しずつ追加してください。

cout << "hi" << endl;
于 2009-12-08T17:42:22.273 に答える
2

ms c ++ 2010プロジェクトを最初から開始したときに同じ問題が発生しました。msによって生成されたすべてのヘッダーファイルを削除しましたが、次のものを使用しました。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main() {
   cout << "hey" << endl;
   return 0;
}

に含まstdafx.hれていないというエラーが発生したため、含める必要がありました。

于 2010-11-01T22:38:17.797 に答える
2

私は VS2010、Beta 1 および Beta 2 (職場のマシンに 1 つ、自宅に 1 つ) を使用しており、std問題なく十分に使用しています。次のように入力してみてください。

std::

そして、Intellisense が何かを提供するかどうかを確認します。を除いて、通常のもの ( abortabsacosなど)が得られる場合、それはかなり困惑しています。その場合は、必ず C++ ヘッダーを調べてください。cout

それを超えて、通常の空のプロジェクト (Intellisense が無効になっている CLR ではない) を実行していること、および実際にプロジェクトを少なくとも 1 回ビルドしようとしたことを確認するために追加します。コメントで述べたように、VS2010 はinclude;を追加するとファイルを解析します。何かがパーサーを動かせず、coutすぐに「見つけられなかった」可能性があります。(その場合、VSを再起動してみてください。)

于 2009-12-08T18:38:09.017 に答える
2

コードを取る

#include <iostream>
using namespace std;

.cpp ファイルから、ヘッダー ファイルを作成し、これを .h ファイルに入れます。それから加えて

#include "whatever your header file is named.h"

.cpp コードの先頭にあります。その後、再度実行します。

于 2010-12-29T00:24:39.520 に答える
1

プロジェクトを作成したときに、「プリコンパイル済みヘッダーを使用する」を正しく設定していませんでした。プロパティ->C/C++->プリコンパイル済みヘッダーで変更します。

于 2012-12-16T23:52:57.523 に答える
1

C++としてコンパイルされていますか?ファイル名を確認してください (末尾が である必要があります.cpp)。プロジェクトの設定を確認してください。

coutあなたのプログラムには何の問題もありませんnamespace std。あなたの VS 2010 Beta 2 のインストールに欠陥があります。あなたのインストールだけではないと思います。

VS 2010 はまだ C++ に対応していないと思います。Beta 1 では、標準の「Hello, World」プログラムが機能しませんでした。テスト用の Win32 コンソール アプリケーションを作成しようとしたところ、生成されたtest.cppファイルに機能がありませんでしたmain()

VS 2010 については、本当に、本当に悪い予感がします。

于 2009-12-08T18:12:47.293 に答える
1

Visual Studio では、「stdafx.h」以下のすべてのヘッダー ファイラーを使用します。

于 2013-09-01T13:02:44.947 に答える
1

使うだけprintf

のヘッダー ファイルにインクルードstdio.hします。stdafx.hprintf

于 2014-11-18T11:36:18.207 に答える
1

試してみてください、うまくいきます。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;
}
于 2010-11-14T09:58:37.803 に答える
0

通常、C:\Program Files\Microsoft Visual Studio 8\VC\include フォルダーに保存されます。最初に、まだあるかどうかを確認します。次に、[ツール] + [オプション]、[プロジェクトとソリューション]、[VC++ ディレクトリ] を選択し、[ディレクトリを表示] コンボボックスで [ファイルを含める] を選択し、$(VCInstallDir)include がリストの一番上にあることを再確認します。

于 2010-02-04T15:45:14.397 に答える
0

私は同じ問題を抱えていたのでここに来ましたが、私がやったとき、#include "stdafx.h"そのファイルが見つからないと言いました。
私にとってのトリックは次のとおり#include <algorithm>です。
私は Microsoft Visual Studio 2008 を使用
しています。'カウント':リンク

于 2016-12-05T11:03:33.357 に答える
0

vs 2010 をインストールしたばかりで、ほぼ同じプログラムを動作させようとしただけで、このエラーに遭遇しました。

以前に unix スタイルのボックスでバニラ 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 を使用してコンソール ウィンドウを固定し、結果を確認できるようにします。

于 2012-02-29T02:54:03.250 に答える
-1

VS2017では、この記事を参照stdafx.hして置き換えられているようですが、pch.h

だから使用:

#include "pch.h"
#include <iostream>

using namespace std;

int main() {
    cout << "Enter 2 numbers:" << endl;
于 2020-06-07T06:39:49.177 に答える