2013-03-03 13 views
41

Ich habe ein C++ Programm:'cout' wurde nicht in diesem Bereich erklärt

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

g ++ test.cpp

Ich erhalte den Fehler error: 'cout' was not declared in this scope

warum?

+9

Ich frage mich, wie oft dies hier gefragt wurde. –

Antwort

73

Setzen Sie den folgenden Code vor int main():

using namespace std; 

Und Sie werden cout nutzen können.

Zum Beispiel:

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

nun einen Moment Zeit nehmen und lesen, auf welche cout ist und was hier vor sich geht: http://www.cplusplus.com/reference/iostream/cout/

+9

Solcher [schlechter Rat] (http://stackoverflow.com/questions/1452721/why-isusing-namespace-std-sidered-bad-practice). – juanchopanza

+3

Ich weiß, ich habe diese Antwort vor 2 Jahren gemacht, aber jetzt weiß ich, dass es gut genug für Anfänger ist, weil es dumm und schwer ist, unerfahrenen Programmierer zu erklären, welcher Namensraum ist. – rafalon

+5

Ich stimme nicht zu. Das ist besonders schlecht für Anfänger, weil sie die Implikationen nicht sehen können. – juanchopanza

27

Verwenden Sie std::cout, da cout im Namespace std definiert ist. Alternativ fügen Sie eine using std::cout; Direktive hinzu.

Verwandte Themen