私はC++アプリケーションを作成しましたが、その中で、Cで作成された数学関数を呼び出す必要があります。プロトタイプは次のようになります。
void Jacobi_Cyclic_Method(double *eigenvalues, double *eigenvectors, double *A, int n);
私の問題は、関数double *を渡せないように見えることです(たとえば、固有ベクトルとAは両方とも多次元配列です。これらを渡すC++の方法は
double [][size]
extern Cについて読んだことがありますが、オブジェクトではなくソース自体とインターフェイスしているため、ここでは当てはまらないと思います。そのC関数を次のように定義された多次元配列に送信するにはどうすればよいですか。
double [100][100] A;
double [100][100] eigenvectors;
double [100] eigenvalues;
コンパイルしようとすると、次のようになります。
error: no matching function for call to ‘MathEngine::Jacobi_Cyclic_Method(double
[100], double [100][100], double [100][100], int)’
mathEngine.h:9: note: candidates are: static void
MathEngine::Jacobi_Cyclic_Method(double*, double*, double*, int)