回复 3楼 zaixuexi
首先感谢版主和2楼的热情回复,我再交代一下这个我这个问题的背景吧,我是将VS2008先编译通过的代码移植到CCS上(DSP开发软件),
移植之后就出现这个问题。其实跟这个类似的我改过多处,但是其他的地方不是二维数组,是一维数组,修改之后都没有问题。
比如我将
int (*fenc_costs[2]) = { &frames[b]->lowres_mv_costs[0][b-p0-1][i_mb_xy], &frames[b]->lowres_mv_costs[1][p1-b-1][i_mb_xy] };
改为:
int (*fenc_costs[2]);
fenc_costs[0]=&frames[b]->lowres_mv_costs[0][b-p0-1][i_mb_xy];
fenc_costs[1]=&frames[b]->lowres_mv_costs[1][p1-b-1][i_mb_xy];
这样改没有问题。
但是这个二维数组的我就搞不定 了。
我按照3楼版主的方法改后,编译提示下列错误:
error: expression must have pointer-to-struct-or-union type
按照2楼的方法,不提示错误了,我想问一问2楼这样改是的道理?二维数组咋就变长一维数组了,这样可以吗?