【发布时间】:2025-12-02 11:25:01
【问题描述】:
我不是在这里寻找解决方案,我在 Google 上找到了很多。我正在寻找解释。
在玩数组时,我发现动态声明二维数组并不像预期的那样工作
一维数组,作品
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
}
在我看来,这是一种直观的做事方式,因为这就是它对常规数组的处理方式,但显然它不正确并且不会编译。
我一直没能找到清楚的解释为什么会这样,希望这里的人能启发我。
谢谢:)
【问题讨论】:
-
真的,如果我是你,我只会使用向量。我知道你不想要解决方案,但我对此深有感触,所以我想我会把它作为评论。
-
This entry of the C++-FAQ on arrays 可能会有所帮助。不仅对 OP,对一些回答者也是如此。