sorry, unimplemented: non-trivial designated initializers not supported
2024-08-26 11:36:17
将C语言转换为C++代码时,发生如下错误
sorry, unimplemented: non-trivial designated initializers not supported。
查找原因,是因为C++结构体初始化时,必须按照定义的顺序进行初始化,不能够跳过其中内容而初始化其他选项,或者定义的顺序先后有问题。
eg:
typedef struct command
{
int a;
char *b;
int c;
int d;
};
在C语言中定义时候进行初始化,这个是可以的:
struct command cmd = {
.a = 20,
.c = 3,
};
而在C++语言中会报错,修改方式如下:
struct command cmd = {
.a = 20,
.b = "", // 必须初始化
.c = 3,
};
还有一个就是顺序问题,C++中必须与结构体中定义一致。
eg:
struct command cmd = {
.b = "fff",
.a = 3,
};
C中运行正常,而C++中运行异常,会报标题错误,修改
struct command cmd = {
.a = 3,
.b = "fff",
};
最新文章
- GamePinTu
- 【原创】AC自动机小结
- iptables日志探秘
- 3.1 SharePreference
- HDU 4707:Pet
- leetcode 141. Linked List Cycle ----- java
- js 无刷新分页代码
- [Spark] Pair RDD常见转化操作
- twisted 使用
- Cocos2d-x Lua 阅读Csv文件,使用数据更方便
- DataTimePicker
- String.IndexOf 方法笔记
- CPU二则
- ubuntu 禁用自带的nouveau显卡驱动,安装NVIDIA显卡驱动
- 【Java】线程转储分析 ThreadDump
- DevExpress XPO 开发指南 简要
- python 回溯法 记录
- spring-boot 速成(8) 集成druid+mybatis
- mysql关联更新update
- AngularJS 模型
热门文章
- Caused by: java.nio.charset.MalformedInputException: Input length = 1
- Kubernetes 基本概念介绍
- 多线程实现的方式二实现Rannable
- 2019-2020-1 20199312《Linux内核原理与分析》第十二周作业
- java spring boot 导出/下载文本文件操作(包含写文本文件)
- zookeeper先验知识(2PC+paxos)
- 使用自签CA,Server,client证书和双向认证
- noi.ac #42 模拟
- linux protobuf 测试官方例子遇到报错及解决办法。
- golang-os文件操作