'cout'未在此范围内声明

61 c++ iostream cout

我有一个C++程序:

TEST.CPP

#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;
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

'cout'未在此范围内声明

为什么?

raf*_*lon 99

在之前输入以下代码int main():

using namespace std;
Run Code Online (Sandbox Code Playgroud)

而你将能够使用cout.

例如:

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

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

  • 这样的[不好建议](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice). (14认同)
  • 我不同意.这对初学者来说特别糟糕,因为他们无法看到其含义. (6认同)
  • 我知道,我在2年前做出了这个答案,但是现在我知道它对于初学者来说已经足够了,因为解释新手程序员什么名称空间是愚蠢而且很难. (4认同)
  • 我同意@juanchopanza的观点.从一个坚实的基础开始并解释一切都做得更容易,以便他们不必重新学习他们认为已经照顾过的东西的概念. (3认同)

And*_*owl 35

使用std::cout,因为cout是在std命名空间内定义的.或者,添加using std::cout;指令.