'std::cout' 声明中的明确限定
explicit qualification in declaration of 'std::cout'
这个问题对我来说真的很奇怪。
代码越简单越好:
#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
想到的唯一解释是:
有人修改标准header(不小心?),替换原来的
extern ostream cout;
不正确
extern ostream std::cout;
有人将名为 cout
的宏定义为 std::cout
,很可能是在编译器的命令行中。例如
-Dcout=std::cout
这个问题对我来说真的很奇怪。
代码越简单越好:
#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
想到的唯一解释是:
有人修改标准header(不小心?),替换原来的
extern ostream cout;
不正确
extern ostream std::cout;
有人将名为
cout
的宏定义为std::cout
,很可能是在编译器的命令行中。例如-Dcout=std::cout