编译:
#include <stdlib.h>
void f(int ** v)
{
}
int main()
{
int v[2][3];
f(v);
return 0;
}
失败:
g.cpp:13:8: error: cannot convert ‘int (*)[3]’ to ‘int**’ for argument ‘1’ to ‘void f(int**)’
但是通过了以下更改:
#include <stdlib.h>
void f(int ** v)
{
}
int main()
{
int * v[2];
f(v);
return 0;
}
在我看来,数组的更深维度必须在编译时解决,有人可以详细说明一下吗?