我正在创建一个依赖于许多C++静态库的C++/CLI包装器DLL。一些函数调用需要传递非托管指针,请问如何正确传递它们?
另外,其他函数需要将“this指针”作为void*传入。传递“this”的正确方法是什么?
下面是我的类定义...
这是我的用法,其中涉及到的指针如下...
另外,其他函数需要将“this指针”作为void*传入。传递“this”的正确方法是什么?
下面是我的类定义...
public ref class RTPClient
{
public:
RTPClient();
~RTPClient();
bool Connect();
void Disconnect();
private:
CIsmaClient* mClient;
};
这是我的用法,其中涉及到的指针如下...
RTPClient::RTPClient():
mClient(NULL)
{
CIsmaClient::Create(&mClient, NULL, &AllocBuffer, &GetDataPointer, this);
}
&mClient和"this"的使用导致以下编译器错误...
1>.\VBLoadSimulatorDll.cpp(40):error C2664:'CIsmaClient::Create':无法将参数1从'cli::interior_ptr'转换为'CIsmaClient **'
1> with
1> [
1> Type=CIsmaClient *
1> ]
1>.\VBLoadSimulatorDll.cpp(40):error C2664:'CIsmaClient::Create':无法将参数5从'VBLoadSimulator :: RTPClient ^const'转换为'VOID *'