我知道对于一维数组,我可以做...
void g(int x[]) {}
void f(int a, int b)
{
int x[a];
g(x);
}
但是使用代码如......
void f(int a, int b)
{
int x[a][b][4];
g(x);
}
g(x)的类型签名是什么样的?
答案 0 :(得分:5)
void g(int x[][b][4]) // b must be known in advance
{}
否则明确传递b
例如:
void g(int b,int x[][b][4]){
}
int main()
{
int a=4,b=6;
int x[a][b][4];
g(b,x);
return 0;
}
答案 1 :(得分:0)
您需要指定数组的大小:
void g(int x[][2][3]){
/* stuff */
}
int main()
{
int x[1][2][3];
g(x);
return 0;
}