我想知道如何将头文件中的 COM 智能指针定义为类成员?这是做了什么:
在 .cpp 文件中,我有:
long MyClass:MyFun(long &deviceCount) { RESULT h = CoInitialize(NULL); MyComPtr ptr(__uuidof(MyComClass)); if(deviceCount > 0) ptr->Connect(); }
但是由于其他函数需要使用ptr,所以我正在考虑将其更改为类成员并在头文件中定义它,如下所示:
在 .h 文件中:
MyComPtr _ptr;
然后在 .cpp 文件中,我有:
_ptr(__uuidof(MyComClass));
但是编译没有通过,它说“术语不评估为带 1 个参数的函数”。我很困惑如何实现这一点。有任何想法吗?谢谢。
编辑:所以要使用初始化列表,它应该是这样的吗?
MyClass:MyClass() : _ptr(new MyCom)
{
_ptr(__uuidof(MyComClass));
}