2013-03-03 31 views
41

Tôi có một ++ chương trình C:'cout' đã không được khai báo trong phạm vi này

#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

tôi nhận được lỗi error: 'cout' was not declared in this scope

tại sao?

+9

Tôi đang tự hỏi bao nhiêu lần này đã hỏi ở đây. –

Trả lời

73

Đặt đoạn mã sau trước khi int main():

using namespace std; 

Và bạn sẽ có thể sử dụng cout.

Ví dụ:

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

Bây giờ hãy dành chút thời và đọc lên vào những gì cout là gì và những gì đang xảy ra ở đây: http://www.cplusplus.com/reference/iostream/cout/

+9

[lời khuyên không tốt] như vậy (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice). – juanchopanza

+3

Tôi biết, tôi đã trả lời 2 năm trước, nhưng bây giờ tôi biết nó là đủ tốt cho người mới bắt đầu, bởi vì nó là ngu ngốc và khó để giải thích lập trình viên mới làm quen những gì không gian tên là. – rafalon

+5

Tôi không đồng ý. Điều này đặc biệt xấu cho người mới bắt đầu bởi vì họ không thể nhìn thấy những tác động. – juanchopanza

27

Sử dụng std::cout, kể từ cout được xác định trong không gian tên std. Ngoài ra, hãy thêm chỉ thị using std::cout;.

Các vấn đề liên quan