2013-03-03 14 views
41

Mam program w C++'cout' nie został zadeklarowany w tym zakresie

#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

pojawia się błąd error: 'cout' was not declared in this scope

dlaczego?

+9

Zastanawiam się ile razy ten został poproszony tutaj. –

Odpowiedz

73

Umieść następujący kod przed int main():

using namespace std; 

I będziesz w stanie wykorzystać cout.

Na przykład:

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

teraz poświęcić chwilę i przeczytać na co cout jest i co się dzieje tutaj: http://www.cplusplus.com/reference/iostream/cout/

+9

Taka [zła rada] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice). – juanchopanza

+3

Wiem, zrobiłem tę odpowiedź 2 lata temu, ale teraz wiem, że jest wystarczająco dobre dla początkujących, ponieważ głupio i trudno wytłumaczyć początkującemu programiście, jaka jest przestrzeń nazw. – rafalon

+5

Nie zgadzam się. Jest to szczególnie niekorzystne dla początkujących, ponieważ nie widzą konsekwencji. – juanchopanza

27

Użyj std::cout, ponieważ cout jest zdefiniowany w przestrzeni nazw std. Alternatywnie, dodaj dyrektywę using std::cout;.

Powiązane problemy