我需要将非托管指针转换为托管对象。下面是代码
包装器.cpp
_declspec(dllexport) int UnmanagedAlgebraComputation::SubtractMultiplyWrapper(UnmanagedSubtraction *unmanagedSubtraction)
{
AlgebraCSharp::AlgebraComputation^ obj= AlgebraCSharp::AlgebraComputation::GetObject;
return obj->Subtraction(unmanagedSubtraction);
}
这里UnmanagedSubtraction
,UnmanagedAlgebraComputation
是我Wrapper.h文件中的类。
SubtractMultiplyWrapper(UnmanagedSubtraction *unmanagedSubtraction)
是在我的 Wrapper.cpp 文件中实现的wrapper.h文件中的方法。
问题是我想将托管对象传递给 obj->Subtraction(unmanagedSubtraction)
我unmanagedSubtraction
的本机 C 指针。
它将错误抛出为
'AlgebraCSharp::AlgebraComputation::Subtraction':无法将参数 1 从 'UnmanagedSubtraction *' 转换为 'AlgebraCSharp::SubtractComputation ^'
如果您有任何与此相关的解决方案,请告诉我。