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

};

sorry, unimplemented: non-trivial designated initializers not supported的更多相关文章

  1. swift语言点评十七-Designated Initializers and Convenience Initializers

    Swift defines two kinds of initializers for class types to help ensure all stored properties receive ...

  2. 【转】Android 源码编译make的错误处理--不错

    原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...

  3. c++ anonymous union,struct -- 匿名联合体和机构体

    c++ anonymous union,struct -- 匿名联合体和机构体 结构体和联合体各自的基本用法不赘述,仅说一下他们匿名时访问的情况.如果是token不同,可以直接跨层访问.例子 #inc ...

  4. C++ struct 初始化的问题

    struct student { int age; string name; int id; }; 初始化: student st1={10, "li ming", 01}; 修改 ...

  5. ios 修正waring:Method override for the designated initializer of the superclass '-init' not found

    swift引入后,为了使oc和swift更相近,对oc的初始化方法也进行了修正,具体说明,见下面的链接,这个waring的最简单的修正方法是,到相应类的头文件中,去掉在自定义初始化方法后面的 NS_D ...

  6. Google C++ Style Guide

    Background C++ is one of the main development languages used by many of Google's open-source project ...

  7. Google C++ 代码规范

    Google C++ Style Guide   Table of Contents Header Files Self-contained Headers The #define Guard For ...

  8. iOS 方法修饰符

     一.NS_DESIGNATED_INITIALIZER 用来修饰init方法,被修饰的方法称为designated initializer:没有被这个修饰的init方法称为convenience i ...

  9. Swift3.0P1 语法指南——构造器

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

随机推荐

  1. BZOJ 2406 矩阵(二分+有源汇上下界可行流)

    题意 题解 二分答案+可行流判断. 模板题. CODE #include <cstdio> #include <cstring> #include <algorithm& ...

  2. [NgRx] Optimistically Editing Entity Data

    First thing first, let's define a action to update entity: import { createAction, props } from " ...

  3. C二维字符数组的使用及如何获取二维数组的总行数和总列数!

    #include <stdio.h> #include <stdlib.h> int main(){ char str[][30] = {"zhangsan" ...

  4. noi.ac #38 线段树+时间复杂度分析

    \(des\) 存在参数数组 \(a\),\(a\) 升序排列 \[a_1 < a_2 < \cdots < a_m, m <= 10\] 存在长度为 \(n\) 价值数组 \ ...

  5. 洛谷 P2032 扫描 题解

    P2032 扫描 题目描述 有一个 1 ∗ n 的矩阵,有 n 个正整数. 现在给你一个可以盖住连续的 k 的数的木板. 一开始木板盖住了矩阵的第 1 ∼ k 个数,每次将木板向右移动一个单位,直到右 ...

  6. linux protobuf 测试官方例子遇到报错及解决办法。

    测试例子时出现报错如下,在最下面会写出安装流程. -------------------------------------报错----1------------------------------- ...

  7. Python中pass语句的作用是什么?

    pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作.

  8. LayuiAdmin 单页版关闭当前页面tab的方式-图文

    需要关闭的时候 调用 parent.layui.admin.events.closeThisTabs() 即可执行当前页面的关闭 $.post("/index.php/WebAdmin/Wx ...

  9. SSH如何使用

    如何查看SSH服务是否已经安装? 在终端命令行执行 rpm -qa | grep "ssh" 执行结果请看下图,说明已经安装:其实在安装linux操作系统的时候默认就会安装上的. ...

  10. <ImageFieldFile:XXXX> is not JSON serializable

    问题描述: 使用django.forms.model下的model_to_dict来序列化ImageFieldFile出现不能序列化错误 使用json.dumps会出现同样的情况 解决办法: 方法一: ...