Error: 'cout' : undeclared identifier; though I've included iostream header file in program

yuvi picture yuvi · Jan 22, 2014 · Viewed 71.4k times · Source

I am trying to compile the simple program below. But, it's not compiling & gives error:

error C2065: 'cout' : undeclared identifier

I want to ask you that why this program doesn't work though I've included iostream header file in it?

#include <iostream>

void function(int) { cout << “function(int) called” << endl; }
void function(unsigned int) { cout << “function(unsigned int) called” << endl; }
    int main()
    {
        function(-2);
        function(4);
        return 0;
    }

Thanks in advance.

Answer

David Heffernan picture David Heffernan · Jan 22, 2014

The cout stream is defined in the std namespace. So to name it you write:

std::cout

If you want to shorten this to cout then you can write

using namespace std;

or

using std::cout;

before writing cout.

Any good documentation source will tell you which namespace contains an object. For instance: http://en.cppreference.com/w/cpp/io/cout