Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ IntelliSense为CComPtr显示不同的功能集<;T>;取决于我是使用点运算符还是箭头运算符_C++_Visual C++_Com_Atl - Fatal编程技术网

C++ IntelliSense为CComPtr显示不同的功能集<;T>;取决于我是使用点运算符还是箭头运算符

C++ IntelliSense为CComPtr显示不同的功能集<;T>;取决于我是使用点运算符还是箭头运算符,c++,visual-c++,com,atl,C++,Visual C++,Com,Atl,在我的代码中,我有 CComPtr<SomeInterface> object; CComPtr对象; 当我使用对象时。IntelliSense显示一组可用函数。当我使用object->时,它会显示另一组可用函数。为什么这些函数集不同?有这样的声明: CComPtr<T> object; 使用arrow获得存储的T*指针,然后arrow运算符应用于检索的T*,因此您可以看到T的成员: object->QueryInterface( ... ); //call

在我的代码中,我有

CComPtr<SomeInterface> object;
CComPtr对象;
当我使用
对象时。
IntelliSense显示一组可用函数。当我使用
object->
时,它会显示另一组可用函数。为什么这些函数集不同?

有这样的声明:

CComPtr<T> object;
使用arrow获得存储的
T*
指针,然后arrow运算符应用于检索的
T*
,因此您可以看到
T
的成员:

 object->QueryInterface( ... ); //calls T::QueryInterface()
因此,使用点可以看到
CComPtr
类的成员函数,使用箭头可以看到
T
类的函数。

使用这样的声明:

CComPtr<T> object;
使用arrow获得存储的
T*
指针,然后arrow运算符应用于检索的
T*
,因此您可以看到
T
的成员:

 object->QueryInterface( ... ); //calls T::QueryInterface()

因此,使用dot您可以看到
CComPtr
类的成员函数,使用arrow您可以看到
T
类的函数。

您能花点时间以一种可以理解的方式表达您的问题吗@Armen Tsirunyan:新手问题解码器,救命!你能花点时间用一种可以理解的方式表达你的问题吗@Armen Tsirunyan:新手问题解码器,救命!换句话说,运算符->()为CComPtr重载。换句话说,运算符->()为CComPtr重载。