我有一个非托管的C++类,其中包含一个com映射。例如:

BEGIN_COM_MAP
(MyClass)
  COM_INTERFACE_ENTRY(...)
END_COM_MAP

但是现在从类中,如果我尝试调用this-> QueryInterface,则会出现以下错误:
unresolved external symbol "public: virtual long __stdcall CTest::QueryInterface(struct _GUID const &,void * *)" (?QueryInterface@CTest@@UAGJABU_GUID@@PAPAX@Z) referenced in function "public: __thiscall CTest::CTest(void)" (??0CTest@@QAE@XZ)
但是现在,如果我尝试实现QueryInterface方法,则会出现以下错误:

错误C2535:“HRESULT CTest::QueryInterface(const IID&,void **)throw()”:已经定义或声明了成员函数

我究竟做错了什么?

最佳答案

感谢您的回答,但最终的问题似乎是我试图从构造函数中查询QueryInterface。一旦将其移至单独的方法,一切都可以正常工作。

有谁对您为什么不能从构造函数调用QueryInterface有任何文档?

09-27 03:42