未在此范围内声明'cout'[关闭]


73

我有一个C ++程序:

测试文件

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

我得到错误

未在此范围内声明“ cout”

为什么?


10
我想知道在这里问过多少次。

6
我不明白为什么将其关闭为“过于本地化”?
Chris_Rands

Answers:


115

将以下代码放在int main()

using namespace std;

并且您将能够使用cout

例如:

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

现在花点时间阅读一下什么是cout以及这里发生了什么:http//www.cplusplus.com/reference/iostream/cout/


此外,尽管它可以快速执行并起作用,但这并不是仅using namespace std;在代码顶部添加的确切建议。有关详细的正确方法,请阅读此相关SO问题的答案。



4
我知道,我2年前就回答了这个问题,但是现在我知道这对初学者来说已经足够了,因为它很愚蠢,很难向新手程序员解释什么是名称空间。
rafalon 2015年

7
我不同意。这对于初学者来说尤其糟糕,因为他们看不到其中的含义。
juanchopanza

3
我在这里同意@juanchopanza。从扎实的基础开始,并解释所有操作的内容要容易得多,这样他们就不必重新学习他们认为已经照顾过的事物的概念
Crutchcorn

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.