Conversion de tableaux multidimensionnels en pointeurs en c ++

J'ai un programme qui se présente comme suit:

double[4][4] startMatrix;
double[4][4] inverseMatrix;
initialize(startMatrix) //this puts the information I want in startMatrix

Je souhaite maintenant calculer l'inverse de startMatrix et de le mettre en inverseMatrix. J'ai une bibliothèque, à cet effet, dont le prototype est le suivant:

void MatrixInversion(double** A, int order, double** B)

qui prend l'inverse de A et la met dans B. Le problème est que j'ai besoin de savoir comment convertir le double[4][4] dans un double** pour donner à la fonction. J'ai essayé de le faire juste le "évident":

MatrixInversion((double**)startMatrix, 4, (double**)inverseMatrix))

mais cela ne semble pas fonctionner. Est-ce réellement la bonne façon de le faire?

source d'informationauteur Alex319