c++;通过手柄减速器将包装件包裹到c# 我在C++中有这样的函数,它里面有另一个函数: Doom(int n, const array<double> ^x, int incx, int k, double r){ pin_ptr<double> xptr = &(x[0]); fdoom(n, xptr, incx, &k, &r, &fail); }

c++;通过手柄减速器将包装件包裹到c# 我在C++中有这样的函数,它里面有另一个函数: Doom(int n, const array<double> ^x, int incx, int k, double r){ pin_ptr<double> xptr = &(x[0]); fdoom(n, xptr, incx, &k, &r, &fail); },c#,c++,clr,C#,C++,Clr,在这里,我的值k和r应该改为1和-2,但这不会发生。因此,我必须使用reference来实现这一点,但我完全不知道如何对单个值使用CLR引用 请注意,函数fdoom在其类中的定义如下: void fdoom (Integer n, const double x[], Integer incx, Integer *k, double *r, NagError *fail) 托管C++中,如果你想用C语言引用它,你应该使用 %。 这是您的函数,如下所示: Doom(int

在这里,我的值k和r应该改为1和-2,但这不会发生。因此,我必须使用reference来实现这一点,但我完全不知道如何对单个值使用CLR引用

请注意,函数fdoom在其类中的定义如下:

void    fdoom (Integer n, const double x[], Integer incx,
        Integer *k, double *r, NagError *fail) 

<>托管C++中,如果你想用C语言引用它,你应该使用<代码> %<代码>。 这是您的函数,如下所示:

Doom(int n, const array<double> ^x, int incx, int %k, double r){
     pin_ptr<double> xptr = &(x[0]);
     pin_ptr<int> kptr = &k;
     fdoom(n, xptr, incx, kptr, &r, &fail);
}

<>托管C++中,如果你想用C语言引用它,你应该使用<代码> %<代码>。 这是您的函数,如下所示:

Doom(int n, const array<double> ^x, int incx, int %k, double r){
     pin_ptr<double> xptr = &(x[0]);
     pin_ptr<int> kptr = &k;
     fdoom(n, xptr, incx, kptr, &r, &fail);
}
CPPCode.Doom(n, x, incx, ref k, r);