コンパイル:
#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;
}
配列のより深い次元はコンパイル時に解決する必要があるように私には思えました、そして誰かがそれについてもっと詳しく説明することができますか?