C编译错误:“可能无法初始化可变大小的对象”为什么我使用以下代码收到错误“可能无法初始化可变大小的对象”?int boardAux[length][length] = {{0}};
3 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
我假设您使用的是C99编译器(支持动态大小的数组)。你的代码中的问题是,当编译器看到你的变量声明时,它不知道数组中有多少元素(我也在这里假设,编译器错误length
不是编译时常量)。
您必须手动初始化该数组:
int boardAux[length][length];memset( boardAux, 0, length*length*sizeof(int) );
江户川乱折腾
TA贡献1851条经验 获得超5个赞
您收到此错误,因为在C语言中,您不能使用具有可变长度数组的初始化程序。你得到的错误信息基本上都说明了一切。
6.7.8初始化
...
3要初始化的实体的类型应为未知大小的数组或不是可变长度数组类型的对象类型。
- 3 回答
- 0 关注
- 920 浏览
添加回答
举报
0/150
提交
取消