我收到所有cout和endl的错误消息
main.cc:17:5: error: ‘cout’ was not declared in this scope
main.cc:17:5: note: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: note: ‘std::cout’按照建议操作后,一切都很好。现在我很好奇,为什么我必须这么做。我们以前在类中使用过C++,但我从来没有在这些命令之前编写过std::。这个系统可能会有什么不同?
发布于 2012-06-08 21:49:39
似乎您的类可能一直在使用准标准C++。一种简单的判断方法是查看您的旧程序并检查,您是否看到:
#include <iostream.h>或
#include <iostream>前者是准标准的,您可以只说cout而不是std::cout,而不需要任何额外的东西。您可以在标准C++中添加以下内容来获得相同的行为
using std::cout;或
using namespace std;不管怎样,只有一个想法。
发布于 2012-06-08 21:49:12
在C++标准中,cout是在std名称空间中定义的,因此您需要指定std::cout或put
using namespace std;在你的代码中,为了得到它。
然而,情况并不总是这样,在过去,cout只是在全局名称空间中(或者后来,在全局和std中)。因此,我可以得出结论,您的类使用的是较旧的C++编译器。
发布于 2012-06-08 21:48:03
标准模板/Iostream库中的所有内容都驻留在命名空间std中。您可能已经使用过:
using namespace std;在你的课堂上,这就是为什么它有效。
https://stackoverflow.com/questions/10950083
复制相似问题