我努力使工作在二維數組的一些功能:使用二維數組作爲參數
void display_matrix(int**, int, int);
void gen_matrix(int**, int, int);
int main()
{
srand(time(0));
int m=5, n=3;
int my_matrix[m][n];
gen_matrix(my_matrix, m, n);
display_matrix(my_matrix, m, n);
}
我不知道什麼是錯呢,但我得到以下錯誤,當我調用的函數: [Error]無法將參數'1'的int()[(((sizetype)(((ssizetype)n)+ -1))+ 1)]''int' *'轉換爲void void gen_matrix(int **,int,int)'
我知道我可以使用矢量,但我正在嘗試練習並記住使用指針和數組。
您也可以考慮使用尺寸爲整型參數的模板類。 – Pete
'int **'不是一個二維數組。所以,這是你的問題。 – AnT
「我試圖練習和記住指針和數組的使用」然後,編寫代碼的方式應該將它編譯爲C,因爲至少通過C++ 11,語言不像您那樣支持可變長度數組'在main()中使用。一些供應商通過擴展支持它,但它不是標準的一部分。如果你在'main'中使用它們,你有什麼理由決定*不*在你的參數列表中使用它們? – WhozCraig