为了账号安全,请及时绑定邮箱和手机立即绑定

C编译错误:“可能无法初始化可变大小的对象”

C编译错误:“可能无法初始化可变大小的对象”

C
慕娘9325324 2019-07-30 16:26:31
C编译错误:“可能无法初始化可变大小的对象”为什么我使用以下代码收到错误“可能无法初始化可变大小的对象”?int boardAux[length][length] = {{0}};
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我假设您使用的是C99编译器(支持动态大小的数组)。你的代码中的问题是,当编译器看到你的变量声明时,它不知道数组中有多少元素(我也在这里假设,编译器错误length不是编译时常量)。

您必须手动初始化该数组:

int boardAux[length][length];memset( boardAux, 0, length*length*sizeof(int) );


查看完整回答
反对 回复 2019-07-30
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您收到此错误,因为在C语言中,您不能使用具有可变长度数组的初始化程序。你得到的错误信息基本上都说明了一切。

6.7.8初始化

...

3要初始化的实体的类型应为未知大小的数组或不是可变长度数组类型的对象类型。


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 920 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信