[英]How clr calls functions with reference '&' parameters of native c++ dll?
我有一個本地c ++ dll和一些帶有引用傳遞的功能
&
void DestroyExportObj(IExport* &pExport)
{
pExport->Release();
pExport = nullptr;
}
這可以在本機c ++中正常工作。 我用CLR包裝了C ++
public ref class Class1
{
IExport* _inst;
...
void Class1::Release()
{
if (_inst != nullptr)
{
DestroyExportObj(_inst);
}
}
}
但是它不能被編譯,因為
托管類成員中的對象不能轉換為本機引用
不可以嗎 我能做什么? 謝謝!
在命名的c ++中,您只能使用指向本機類的指針。 因此,您可以嘗試使用指向指針的指針,或者僅對IExport使用包裝器。 我認為,更好,更合理地使用包裝器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.