根据帖子,
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指向的数组的长度,并且无法执行指针算术。