【发布时间】:2013-06-06 13:52:56
【问题描述】:
我需要将非托管指针转换为托管对象。 下面是代码
Wrapper.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.h 文件中的方法,它在我的 Wrapper.cpp 文件中实现。
问题是我想将托管对象传递给obj->Subtraction(unmanagedSubtraction),但unmanagedSubtraction 是我的本机C 指针。
它会抛出错误
'AlgebraCSharp::AlgebraComputation::Subtraction' : 无法转换 参数 1 从 'UnmanagedSubtraction *' 到 'AlgebraCSharp::SubtractComputation ^'
如果您有任何与此相关的解决方案,请告诉我。
【问题讨论】: