返回信息流假设函数的形参必须是int a[][2] 。
void test(int a[][2])
{现在要把这个不定长的二维数组赋值以后传到函数里。赋值之前知道这个数组有多长,但是是一个变量num来传的 相当于a[num][2]。
用指针的方法定义的话:
int **a = new int *[num];
for(int j=0; j<num; ++j)
a[j] = new int[2];
老是说类型不符。
用 int (*a)[2]来定义又会无法赋值。
请问如何定义这个二维数组啊?求大牛解答~ 谢谢~~
这是一条镜像帖。来源:北邮人论坛 / cpp / #39544同步于 2010/5/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]二维变长数组作为形参如何定义赋值
yalan425
2010/5/24镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
int **a = new int *[num];
for(int j=0; j<num; ++j)
a[j] = new int[2];
然后函数调用void test(int **a)就行了吧
关键是函数形参不能变啊~~[em9]
【 在 sd4137838 的大作中提到: 】
: int **a = new int *[num];
: for(int j=0; j<num; ++j)
: a[j] = new int[2];
: ...................
【 在 yalan425 的大作中提到: 】
: 关键是函数形参不能变啊~~
: 【 在 sd4137838 的大作中提到: 】
: : int **a = new int *[num];
: ...................
int (*a)[2]=new int[num][2];
原来是因为这个,谢谢~:)
【 在 sd4137838 的大作中提到: 】
: : 关键是函数形参不能变啊~~
: : 【 在 sd4137838 的大作中提到: 】
: : : int **a = new int *[num];
: ...................