【发布时间】:2014-11-24 14:08:57
【问题描述】:
我这样声明一个变量“ptr”:
int array[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
int n = 4;
int (*ptr)[n] = (int (*)[n])array[0];
放全局时,编译时报错:
error: variably modified ‘ptr’ at file scope
int (*ptr)[n] = (int (*)[n])array[0];
^
但它会成功,当我把它放在本地时。
顺便说一句:我使用 gcc 编译器。
【问题讨论】: