【发布时间】:2011-08-06 00:15:26
【问题描述】:
我正在尝试使用 C# 代码包装具有引用参数的 C++ 函数。
我的 C# 包装类有
[DllImport(TestCppDLL.dll)]
public static extern void foo(out int a, out int b, out double c);
public void main()
{
int a;
int b;
double c;
this.foo(out a, out b, out c);
Console.WriteLine(a + b + c);
}
而我的 C++ 代码是
extern void foo(int &a, int &b, double &c)
{
a = 1;
b = 2;
c = 3;
}
所以我希望输出为“123”,但我得到的是“000”。
如何包装 C++ 引用参数?
提前谢谢你,
【问题讨论】:
标签: c# c++ wrapper pass-by-reference dllimport