【发布时间】:2012-10-23 21:33:18
【问题描述】:
我通过书籍学习 C++ 和 COM。
在 IDE MS Visual Studio 2012 中,我创建了新的空 C++ 项目,并向其中添加了一些现有文件。我的 CPP 文件包含 #include<iostream> 行,但在编辑器中我收到了这样的消息:
错误:标识符“cout”未定义
结束
错误:标识符“endl”未定义
代码:
#include<iostream>
#include"interfaces.h" // unknown.h, objbase.h, initguid.h
class CA {//: public IX, IY{
public:
// Constructor
CA();
// Destructor
~CA();
// IUnknown
virtual HRESULT __stdcall QueryInterface(const IID& iid, void** ppv);
virtual ULONG __stdcall AddRef();
virtual ULONG __stdcall Release();
// IX
virtual void __stdcall Fx1();
virtual void __stdcall Fx2();
// IY
virtual void __stdcall Fy1(){ cout << "Fy1" << endl; } // errors here
virtual void __stdcall Fy2(){ cout << "Fy2" << endl; } // errors here also
private:
long counter;
};
为什么会这样?
【问题讨论】:
-
不知道“使用命名空间标准;”的新鲜和纯洁的头脑。甜:)
-
鉴于这个问题在谷歌上的排名相当高,我认为用实际的 MCVE 替换这张代码图片是值得的。
标签: c++ visual-studio com visual-studio-2012