托管C++;包装器-如何公开以指针作为参数的方法? >我正在编写一个托管C++包装器。 它有一个以参数作为指针的方法。 如何公开这种类型的方法? 例如:无效测试(浮动*工资)

托管C++;包装器-如何公开以指针作为参数的方法? >我正在编写一个托管C++包装器。 它有一个以参数作为指针的方法。 如何公开这种类型的方法? 例如:无效测试(浮动*工资),c++,visual-studio-2008,visual-c++,c++-cli,visual-studio-2005,C++,Visual Studio 2008,Visual C++,C++ Cli,Visual Studio 2005,您共享的信息太少,无法确定,但我会尝试以下方法之一: [DllImport("MyDll.dll")] private static extern void Test(ref float salary); 或 最后一种情况是,当您不关心参数的值或类型时(尽管在float的情况下,我想第一种选择更可能) 你也可以使用C++ + CLI,简单地使用像常规C++项目中的指针。[DllImport(@“yourldll.dll”)]专用静态外部无效测试(参考浮动工资);您需要在托管C++与.NET之间

您共享的信息太少,无法确定,但我会尝试以下方法之一:

[DllImport("MyDll.dll")]
private static extern void Test(ref float salary);

最后一种情况是,当您不关心参数的值或类型时(尽管在float的情况下,我想第一种选择更可能)


你也可以使用C++ + CLI,简单地使用像常规C++项目中的指针。[DllImport(@“yourldll.dll”)]专用静态外部无效测试(参考浮动工资);您需要在托管C++与.NET之间传递指针吗?如果是这样,请尝试使用

long
type传递指针。在非托管C++和C++ +CLI之间,您可以使用浮点*.@特伦蒂雷斯曼,是的,我需要传递托管C++与.NET之间的指针。你能分享任何参考链接吗。我不熟悉这种语言。提前谢谢。C语言中的指针是出了名的模棱两可。它是指向单个浮点值的指针吗?它实际上是一个数组吗?浮子通过了吗?还是出去?或者两者都有?当您需要编写pinvoke声明时,它很重要。@HansPassant它是一个数组。是的,浮子进来了。
[DllImport("MyDll.dll")]
private static extern void Test(IntPtr salary);