我有一個程序,如下所示:轉換多維數組的指針在C++
double[4][4] startMatrix;
double[4][4] inverseMatrix;
initialize(startMatrix) //this puts the information I want in startMatrix
我現在要計算startMatrix的倒數,放入inverseMatrix。我有這個目的,其原型庫函數如下:
void MatrixInversion(double** A, int order, double** B)
,需要一個取反,並把它放在B.的問題是,我需要知道如何轉換的雙重[4] [ 4]變成雙**來賦予該功能。我試過這樣做的「明顯方式」:
MatrixInversion((double**)startMatrix, 4, (double**)inverseMatrix))
但這似乎並不奏效。這實際上是正確的做法嗎?
&startMatrix,4,&inverseMatrix – 2009-10-18 05:37:13
爲什麼不製作一個矩陣類,而是用C方法來做事? (將對象傳遞給函數,而不是調用對象的方法) – GManNickG 2009-10-18 05:40:33
@GMan:由於OP說函數是「庫函數」,他很可能沒有自由改變接口。上課或沒有課,在某些時候,他必須得到適當的「雙**」才能傳遞給該函數。 – AnT 2009-10-18 06:03:40