0
通常情況下,我有一個n×n的二維數組,我用這個代碼把它傳遞給一個函數:我該如何修改這個以使用3D數組?
void func(int *x, const int &n){
int (*r)[n]=(int (*)[n])x;
// I can use r now with subscript operator as usual, r[i][j] and everything works fine
}
而且我把它叫做:
int r[n][n];
func(&r[0][0],n)
所以它可以讓我使用數組在使用下標運算符r [i] [j]的函數內,不必每次調用函數時手動更改維度參數。我的問題是,我應該如何修改它以使用3D?該代碼不友好,我不知道如何更改此部分:
int (*r)[n]=(int (*)[n])x;
要在3D中工作。謝謝。