【C++】不支持非平凡的指定初始值设定项 sorry, unimplemented: non-trivial designated initializers not supported

问题描述

int code[128] = {['A'] = 10, ['B'] = 11, ['C'] = 12, ['D'] = 13, ['E'] = 14, ['F'] = 15};
Exit code: 1 Errors while compiling:
10:72: sorry, unimplemented: non-trivial designated initializers not supported
  ['A'] = 10, ['B'] = 11, ['C'] = 12, ['D'] = 13, ['E'] = 14, ['F'] = 15};
                                                                        ^
10:72: sorry, unimplemented: non-trivial designated initializers not supported

原因分析

编译时出现错误:抱歉,未实现:不支持非平凡的指定初始值设定项

这个错误信息表明,代码试图使用C99标准中的一种特性,即指定初始化器(designated initializers)。这是C99引入的一个特性,允许在初始化数组或结构体时指定某些特定元素或成员的值。这在C99和后续的C标准中是合法的,但在C++中并不支持。


解决方案

创建一个数组,然后分别设置对应的元素的值。

	int code[128];
	code['A'] = 10;
	code['B'] = 11;
	code['C'] = 12;
	code['D'] = 13;
	code['E'] = 14;
	code['F'] = 15;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值