错误C2065:'cout':未声明的标识符

我正在编写我的编程任务的'驱动程序'部分,我一直在得到这个荒谬的错误:

错误C2065:'cout':未声明的标识符

我甚至尝试过使用std :: cout,但我得到另一个错误,说: 智能感知:命名空间“std”没有成员“cout”,当我已经声明使用命名空间std,包括iostream +我甚至试图使用ostream

我知道这是一个标准的noob问题,但这一直困扰着我,我是一个新手(意思是:我已经编程在…之前)

#include <iostream> using namespace std; int main () { cout << "hey" << endl; return 0; } 

我正在使用Visual Studio 2010并运行Windows 7.所有的.h文件都有“using namespace std”,并包含iostream和ostream。

写这个代码,它完美的工作..

 #include "stdafx.h" #include <iostream> using namespace std; int main() { cout<<"Hello World!"; return 0; } 

在Visual Studio中,您必须#include "stdafx.h"并且是cpp文件的第一个包含。 例如:

这些将不起作用。

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

我在Visual Studio C ++ 2010上遇到了同样的问题。修复起来很简单。 在main()函数的上面,用下面的代码replace标准的include行,但在include前面用磅符号。

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

我已经看到,如果你使用

 #include <iostream.h> 

那么你会得到这个问题。

如果你使用

 #include <iostream> 

(注意 – 没有.h)

那么你不会遇到你提到的问题。

include "stdafx.h"是可以的

但是你不能使用cout除非你已经包含using namespace std

如果你没有包含命名空间std,你必须写std::cout而不是简单的cout

下面的代码使用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,它仍然说未定义,那么也许iostream不包含它应该的。 你有没有可能在你的项目中有一个空文件,名字叫做“iostream”?

如果你开始一个需要#include "stdafx.h"行的项目,把它放在第一位。

我有VS2010,testing版1和testing版2(一个在我的工作机器上,一个在家里),而且我用了很多没有问题的std 。 尝试input:

 std:: 

看看Intellisense能给你什么 如果它给你通常的东西( abortabsacos等), 除了cout ,那么, 是一个相当困惑。 在这种情况下,肯定会查看你的C ++头文件。

除此之外,我只是补充一下,确保你正在运行一个普通的空项目(而不是CLR,其中Intellisense已经瘫痪了),而且你实际上已经试图构build这个项目至less一次。 正如我在评论中提到的,一旦添加了include ,VS2010就会parsing文件; 这可能是一些东西卡在parsing器,它没有“find”立即cout 。 (在这种情况下,尝试重新启动VS也许?)

拿编码

 #include <iostream> using namespace std; 

在你的.cpp文件中,创build一个头文件并把它放在.h文件中。 然后加

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

在.cpp代码的顶部。 然后再运行一次。

从头开始ms c ++ 2010项目时,我遇到了同样的问题 – 我删除了ms生成的所有头文件,但是使用了:

 #include "stdafx.h" #include <iostream> using namespace std; int main() { cout << "hey" << endl; return 0; } 

我不得不包含stdafx.h因为它导致没有它的错误。

在开始这个程序之前摆脱所有的代码,并在main中做一个简单的hello world。 只包含iostream和使用命名空间std ;. 一点一点地增加它来find你的问题。

 cout << "hi" << endl; 

当我在C ++代码中使用.c文件扩展名时,我看到了类似的情况。 除此之外,我必须同意所有人关于一个马车安装。 如果您尝试使用早期版本的VS编译项目,它是否工作? 试试VC ++ Express 2008.在msdn上免费。

你确定它正在编译为C ++吗? 检查你的文件名(它应该以.cpp结尾)。 检查您的项目设置。

你的程序没有什么问题,而cout是在namespace std 。 您的VS 2010 Beta 2的安装是有缺陷的,我不认为这只是您的安装。

我不认为VS 2010已经准备好了C ++。 标准的“Hello,World”程序在Beta 1上不起作用。我刚刚尝试创build一个testingWin32控制台应用程序,生成的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; } 

当你创build你的项目时,你没有正确设置“使用预编译头文件”。 在属性 – > C / C ++ – >预编译头文件中进行更改。

在Visual Studio中,使用“stdafx.h”下面的所有头文件。

通过在代码顶部插入以下行来包含std库:

 using namespace std; 

通常存储在C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ include文件夹中。 首先检查它是否仍然存在。 然后select“工具+选项”,“项目和解决scheme”,VC ++目录,在“显示目录”combobox中select“包含文件”,然后仔细检查$(VCInstallDir)include是否位于列表的顶部。

在安装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,以便控制台窗口四处可见,以便看到结果。

只要使用printf

stdio.h包含在printf stdafx.h头文件中。

我来到这里是因为我有同样的问题,但是当我做#include "stdafx.h"它说没find那个文件。
对我来说这个技巧是什么: #include <algorithm>
我使用Microsoft Visual Studio 2008。
这些是你可以使用的东西,包括。 'count': 链接

这样一个愚蠢的解决scheme在我的情况:

 // Example a #include <iostream> #include "stdafx.h" 

以上是根据示例a,当我改变它类似于下面的例子b …

 // Example b #include "stdafx.h" #include <iostream> 

我的代码编译成一个魅力。 尝试一下,保证工作。


这是编译器 – 我现在使用Eclipse伽利略和程序工作就像一个奇迹