是否可以将接口指针分配给另一个接口指针,其中两个接口指针都指向同一个类。下面 是我的Test.h和Test.cpp的将一个接口指针分配给C++中的另一个接口指针
class Test
{
ITestPtr testPtr;
ITestSecondPtr secondPtr;
};
Test:: Test()
{
testPtr.CreateInstance(__uuidof(MyNamespace::MyClass));
secondPtr=testPtr;
}
这里我ITestPtr和ITestSecondPtr指向同一个C#类MyClass的代码。因此为了避免C#类的双重初始化,我将testPtr分配给了secondPtr。 它建立成功。但运行时会引发访问冲突紧张。请让我知道,如果有任何解决方案。
'testPtr.QueryInterface(&secondPtr);',至少是这样,你可以在C++中使用MS的'comdef'智能接口包装库来做到这一点。你在做什么语言,我不知道,因为你把它标记为C++,但在你的问题中只提到了C#。 – WhozCraig
+1给WhozCraig,就是这样做。 –
@WhozCraig看起来他使用C++/CLI,而他提到的C#类来自DLL或其他东西。 –