这是我的C函数的定义:我可以通过C++/CLI包装将C#数组传递给C指针吗?
//C
int FXForwardRate(
long *riskZCDates, /* (I) Risk ZC dates */
double *fwdRate); /*(O) Output */
第一参数实际上是指向的长的阵列。 在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代码,我不知道如何声明在Class 1类功能(我没有把整个代码要简明扼要):
//C++/CLI
int Class1::FXForwardRateW(int[] premium, double %fwdRate)
{
double _tempFwdRate = 0.0;
int _status = FXForwardRate(premium, &_tempFwdRate);
fwdRate = _tempFwdRate;
return _status;
}
我从另一个函数我写了什么,我做了第二个参数所知道的是正确的(不知道它的虽然是最好的方法)。但第一个呢?我应该做同样的事情吗?即:定义一个指针将它传递给C函数,然后将值复制回数组? 问候
您是否需要“固定”阵列/对象? – 2011-09-16 15:23:25