designated专题

sorry, unimplemented: non-trivial designated initializers not supported

将C语言转换为C++代码时,发生如下错误 sorry, unimplemented: non-trivial designated initializers not supported。 查找原因,是因为C++结构体初始化时,必须按照定义的顺序进行初始化,不能够跳过其中内容而初始化其他选项,或者定义的顺序先后有问题。 eg: typedef struct   command {

指定初始化(designated initialize)

对linux内核代码中的结构体的初始化如: struct device my_dev = {    .bus = &my_bus_type,    .parent = &my_bus,    .release = my_dev_release, };    上面这种方式称为指定初始化(designated initialize)。它源自ISO C99标准。 C Pri