问题对我来说真的很奇怪。
代码尽可能简单:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
它只是helloworld,因为它是从标准cpp项目创建的。 我相信它是有效的。但过了一段时间(真的不记得有什么东西......)我收到了一个错误:
error: explicit qualification in declaration of 'std::cout'
extern ostream std::cout; /// Linked to standard output
有趣的事情不在项目中但在iostream中
有些帮助吗? ^ _ ^。新信息: 我正在构建boost库,对于许多文件我得到了同样的错误:'std :: cout'声明中的显式限定
我使用MinGW
答案 0 :(得分:1)
想到的唯一解释是:
有人修改了标准标题(意外?),取代原来的
extern ostream cout;
错误
extern ostream std::cout;
有人将名为cout
的宏定义为std::cout
,很可能是在编译器的命令行中。 E.g。
-Dcout=std::cout