是否可以將接口指針分配給另一個接口指針,其中兩個接口指針都指向同一個類。下面 是我的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或其他東西。 –