[英]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.