| ところで、なんでいきなり配列になってしまっているのでしょうか? C言語では配列になっていないのに。
typedefを使うと明確です。
>int simp(double **p, double *y, double (*funk)(double *))
↓
typedef double (*FUNC)(double* );
int simp(double** p, double* y, FUNC func)
C#ではtypedefをdelegateと置き換えてみると
private delegate double FUNC(double[] param);
int simp(double[][] p, double[] y, FUNC func)
となり
n = simp(p, y, mtl2);
これで呼び出せるはず。
* → [] ** → [][]
という安易な変換でうまくいくようなものではありません。 きちんとコードを理解して使ってください。 とりあえず、C++のコードが理解できていないように思えるけど、、、 |