为什么需要多维阵列中更高尺寸的尺寸范围?

Mah*_*rde 5 c c++

根据帖子,

将2D数组传递给C++函数

int array[10][10];
void passFunc(int a[][10]) //  <---Notice 10 here
{
    // ...
}
passFunc(array);
Run Code Online (Sandbox Code Playgroud)

为什么编译器内部的观点需要更高的维度.

hac*_*cks -1

作为函数参数int a[][10]相当于int (*a)[10],意思是:a是一个指向10数组的指针int。在这种情况下,它不代表二维数组。

如果高维留空,则编译器无法知道指针a指向的数组的长度,并且无法执行指针算术。

  • 只是说“你必须这样做”并不能解释为什么需要这样做 (3认同)