基本上什麼,我試圖做的是一個函數內初始化我的數組,但它出現segfaults:初始化數組通過引用C++
void func(int **a, int x, int y) {
a = new int*[x];
for (int i=0; i<x; i++)
a[i] = new int[y];
}
void main() {
int **a;
func(a, 2, 3);
}
但是如果我初始化數組的功能之外,那麼通過它,一切完美的作品,我可以賦值給它/打印它們。我正在努力的是傳遞數組的引用,所以我不必在函數之外初始化它。
void func(int **a, int x, int y) {
for (int i=0; i<x; i++)
a[i] = new int[y];
}
void main() {
int x = 2;
int **a = new int*[x];
func(a, x, 3);
}
我不相信代碼SEG-故障。但是,請注意,'main'中的'a'沒有被修改。 –
我失去了興趣第二我看到'int ** a'在所謂的C++代碼 – sehe