如何将双指针从C ++传递给C#

时间:2015-01-08 03:16:15

标签: c# c++-cli

我有一个C ++ cli程序,它将double *值传递给C#包装器。

这是我的C ++程序

MY_DLL_API void __cdecl PassValue(double *value,) {
CSharpWrapper^ CSharpWrapperAPI = gcnew CSharpWrapper();
CSharpWrapperAPI ->PassValue(*value);

return;

}

和我的C#程序

 public unsafe void PassValue(double *newValue)
    { // some calcuation }

我收到编译错误:无法将参数2从'double'转换为'double *' 怎么会?这两个接口是一样的吗?

1 个答案:

答案 0 :(得分:3)

您取消引用double*,从而产生双倍。

此:

CSharpWrapperAPI ->PassValue(*value);

应该是这样的:

CSharpWrapperAPI ->PassValue(value);