2014-01-24 34 views
0

我有索引2D矩陣聲明爲指針的問題。 下面是我在做什麼索引2維矩陣(指針樣式) - 錯誤:不能索引

Compute(int *matrix, int rows, int cols) 
{ 
    int i, j; 

    for(j = 1; j < cols; j++) 
    { 
     for(i = 0; i < rows; i++) 
     { 
       matrix[j][i] = 5;  //what is wrong with this line? 
     } 
    } 
} 

錯誤:下標值既不是數組,也不指針

任何幫助嗎?

感謝

回答

3

對於2D陣列指針應該是雙指針數組(**matrix)。在您的代碼矩陣被聲明爲函數參數的單一維度(*matrix)陣列。它應該是**matrix

Compute(int **matrix, int rows, int cols) 
{ 
    int i, j; 

    for(j = 1; j < cols; j++) 
    { 
     for(i = 0; i < rows; i++) 
     { 
       matrix[j][i] = 5; 
     } 
    } 
}