我不是在这里寻找解决方案,我在 Google 上找到了很多。我正在寻找解释。
在玩数组时,我发现动态声明 2D 数组不像预期的那样工作
一维阵列,作品
int main()
{
int rows;
int* pointer;
pointer = new int[rows];
}
二维数组,不起作用
int main()
{
int rows;
int columns;
int* pointer;
pointer = new int[rows][columns]; //error on this line
}
在我看来,这似乎是一种直观的做事方式,因为这就是它使用常规数组的方式,但显然它不正确并且不会编译。
我一直无法找到一个明确的解释为什么会这样,希望这里有人能启发我。
谢谢 :)