将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",

};

最新文章

  1. GamePinTu
  2. 【原创】AC自动机小结
  3. iptables日志探秘
  4. 3.1 SharePreference
  5. HDU 4707:Pet
  6. leetcode 141. Linked List Cycle ----- java
  7. js 无刷新分页代码
  8. [Spark] Pair RDD常见转化操作
  9. twisted 使用
  10. Cocos2d-x Lua 阅读Csv文件,使用数据更方便
  11. DataTimePicker
  12. String.IndexOf 方法笔记
  13. CPU二则
  14. ubuntu 禁用自带的nouveau显卡驱动,安装NVIDIA显卡驱动
  15. 【Java】线程转储分析 ThreadDump
  16. DevExpress XPO 开发指南 简要
  17. python 回溯法 记录
  18. spring-boot 速成(8) 集成druid+mybatis
  19. mysql关联更新update
  20. AngularJS 模型

热门文章

  1. Caused by: java.nio.charset.MalformedInputException: Input length = 1
  2. Kubernetes 基本概念介绍
  3. 多线程实现的方式二实现Rannable
  4. 2019-2020-1 20199312《Linux内核原理与分析》第十二周作业
  5. java spring boot 导出/下载文本文件操作(包含写文本文件)
  6. zookeeper先验知识(2PC+paxos)
  7. 使用自签CA,Server,client证书和双向认证
  8. noi.ac #42 模拟
  9. linux protobuf 测试官方例子遇到报错及解决办法。
  10. golang-os文件操作