error C2065: 'cout' : undeclared identifier

匿名 (未验证) 提交于 2019-12-03 01:10:02

问题:

I am working on the 'driver' part of my programing assignment and i keep getting this absurd error:

error C2065: 'cout' : undeclared identifier

I have even tried using the std::cout but i get another error that says: IntelliSense: namespace "std" has no member "cout" when i have declared using namespace std, included iostream + i even tried to use ostream

I know it's a standard noob question but this has stumped me and I'm a novice (meaning: I've programed before...)

#include  using namespace std;  int main () {     cout 

I'm using Visual Studio 2010 and running Windows 7. All of the .h files have "using namespace std" and include iostream and ostream.

回答1:

write this code, it works perfectly..

#include "stdafx.h" #include   using namespace std;  int main() {  cout


回答2:

In Visual Studio you must #include "stdafx.h" and be the first include of the cpp file. For instance:

These will not work.

#include  using namespace std; int main () {     cout  #include "stdafx.h" using namespace std; int main () {     cout 

This will do.

#include "stdafx.h" #include  using namespace std; int main () {     cout 


回答3:

I had same problem on Visual Studio C++ 2010. It's easy to fix. Above the main() function just replace the standard include lines with this below but with the pound symbol in front of the includes.

# include "stdafx.h" # include  using  namespace std; 


回答4:

The include "stdafx.h" is ok

But you can't use cout unless you have included using namespace std

If you have not included namespace std you have to write std::cout instead of simple cout



回答5:

I have seen that if you use

#include 

then you will get the problem.

If you use

#include 

(notice - without the .h)

then you will not get the problem you mentioned.



回答6:

If you started a project requiring the #include "stdafx.h" line, put it first.



回答7:

The code below compiles and runs properly for me using gcc. Try copy/pasting this and see if it works.

#include  using namespace std;  int bob (int a) { cout 


回答8:

If the only file you include is iostream and it still says undefined, then maybe iostream doesn't contain what it's supposed to. Is it possible that you have an empty file coincidentally named "iostream" in your project?



回答9:

I have VS2010, Beta 1 and Beta 2 (one on my work machine and one at home), and I've used std plenty without issues. Try typing:

std:: 

And see if Intellisense gives you anything. If it gives you the usual stuff (abort, abs, acos, etc.), except for cout, well then, that is quite a puzzler. Definitely look into your C++ headers in that case.

Beyond that, I would just add to make sure you're running a regular, empty project (not CLR, where Intellisense is crippled), and that you've actually attempted to build the project at least once. As I mentioned in a comment, VS2010 parses files once you've added an include; it could be that something stuck the parser and it didn't "find" cout right away. (In which case, try restarting VS maybe?)



回答10:

Take the code

#include  using namespace std; 

out of your .cpp file, create a header file and put this in the .h file. Then add

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

at the top of your .cpp code. Then run it again.



回答11:

I had the same issue when starting a ms c++ 2010 project from scratch - I removed all of the header files generated by ms and but used:

#include "stdafx.h" #include  using namespace std;  int main() {    cout 

I had to include stdafx.h as it caused an error not having it in.



回答12:

before you begin this program get rid of all the code and do a simple hello world inside of main. Only include iostream and using namespace std;. Little by little add to it to find your issue.

cout 


回答13:

I've seen similar things happen when I was using the .c file extension with C++ code. Other than that, I'd have to agree with everyone about a buggy installation. Does it work if you try to compile the project with an earlier release of VS? Try VC++ Express 2008. Its free on msdn.



回答14:

Such a silly solution in my case:

// Example a #include      #include "stdafx.h" 

The above was odered as per example a, when I changed it to resemble example b below...

// Example b #include "stdafx.h" #include 

My code compiled like a charm. Try it, guaranteed to work.



回答15:

Are you sure it's compiling as C++? Check your file name (it should end in .cpp). Check your project settings.

There's simply nothing wrong with your program, and cout is in namespace std. Your installation of VS 2010 Beta 2 is defective, and I don't think it's just your installation.

I don't think VS 2010 is ready for C++ yet. The standard "Hello, World" program didn't work on Beta 1. I just tried creating a test Win32 console application, and the generated test.cpp file didn't have a main() function.

I've got a really, really bad feeling about VS 2010.



回答16:

Try it, it will work. I checked it in Windows XP, Visual Studio 2010 Express.

#include "stdafx.h" #include  using namespace std;  void main( )  {    int i = 0;    cout > i; } 


回答17:

When you created your project, you did not set 'use precompiled headers' correctly. Change it in properties->C/C++->precompiled headers.



回答18:

In Visual studio use all your header filer below "stdafx.h".



回答19:

Include the std library by inserting the following line at the top of your code:

using namespace std; 


回答20:

is normally stored in the C:\Program Files\Microsoft Visual Studio 8\VC\include folder. First check if it is still there. Then choose Tools + Options, Projects and Solutions, VC++ Directories, choose "Include files" in the "Show Directories for" combobox and double-check that $(VCInstallDir)include is on top of the list.



回答21:

I ran across this error after just having installed vs 2010 and just trying to get a nearly identical program to work.

I've done vanilla C coding on unix-style boxes before, decided I'd play with this a bit myself.

The first program I tried was:

#include "stdafx.h"   int _tmain(int argc, _TCHAR* argv[]) {     cout 

The big thing to notice here... if you've EVER done any C coding,

int _tmain(int argc, _TCHAR* argv[]) 

Looks weird. it should be:

int main( int argc, char ** argv ) 

In my case I just changed the program to:

#include  using namespace std;  int main() {      cout 

And it worked fine.

Note: Use CTRL + F5 so that the console window sticks around so you can see the results.



回答22:

Just use printf!

Include stdio.h in your stdafx.h header file for printf.



回答23:

I came here because I had the same problem, but when I did #include "stdafx.h" it said it did not find that file.
What did the trick for me was: #include .
I use Microsoft Visual Studio 2008.
These are the things that you can use then, incl. 'count': Link



回答24:


It was the compiler - I'm now using Eclipse Galileo and the program works like a wonder




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!