'cout' was not declared in this scope

I have a C++ program:

test.cpp

#include<iostream>


int main()
{
char t = 'f';
char *t1;
char **t2;
cout<<t;    //this causes an error, cout was not declared in this scope
return 0;
}

I get the error:

'cout' was not declared in this scope

Why?

483187 次浏览

Use std::cout, since cout is defined within the std namespace. Alternatively, add a using std::cout; directive.

Put the following code before int main():

using namespace std;

And you will be able to use cout.

For example:

#include<iostream>
using namespace std;
int main(){
char t = 'f';
char *t1;
char **t2;
cout<<t;
return 0;
}

Now take a moment and read up on what cout is and what is going on here: http://www.cplusplus.com/reference/iostream/cout/


Further, while its quick to do and it works, this is not exactly a good advice to simply add using namespace std; at the top of your code. For detailed correct approach, please read the answers to this related SO question.