【发布时间】:2011-09-16 15:13:10
【问题描述】:
这是我的 C 函数定义:
//C
int FXForwardRate(
long *riskZCDates, /* (I) Risk ZC dates */
double *fwdRate); /*(O) Output */
第一个参数实际上是指向一个long数组。 在 C# 中,我最好这样称呼它:
//C#
int[] array = {1,2,3}; //if i'm not mistaking long in C is int in :NET
double fwdRate = 0;
Class1.FXForwardRate(array, ref fwdRate);
现在对于我的 C++/CLI 代码,我不知道如何在 Class1 类中声明函数(我没有将整个代码简洁):
//C++/CLI
int Class1::FXForwardRateW(int[] premium, double %fwdRate)
{
double _tempFwdRate = 0.0;
int _status = FXForwardRate(premium, &_tempFwdRate);
fwdRate = _tempFwdRate;
return _status;
}
我从另一个函数中知道我写的第二个参数是正确的(虽然不确定这是最好的方法)。但是第一个呢?我应该做同样的事情吗?即:定义一个指针将它传递给C函数,然后将值复制回数组? 问候
【问题讨论】:
-
你必须“固定”数组/对象吗?
标签: c# c arrays c++-cli wrapper