标量初始化程序中结构的多余元素

ws

我有一个result具有以下定义的结构:

struct result {
void** elements;
size_t n_elements;
};

但是,当我尝试使用以下属性对其进行初始化时,{ NULL, 0 }会收到以下警告:

warning: excess elements in scalar initializer
struct result * result_elements = { NULL, 0 };

这是一个错误,因为它期望使用2D数组吗?如果是这样,我认为允许NULL吗?

干杯:)

云诺什

这是一个指针

struct result * result_elements /**/;

您尝试用初始化

{ NULL, 0 }

您可以使用例如标量初始化程序进行初始化

NULL

您可以使用非标量初始化程序来初始化单独的(非指针)变量,例如

struct result avariable = { NULL, 0 };

然后您可以像这样初始化指针

struct result * result_elements = &avariable;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C中的Linux Shell-警告:结构初始化程序中的多余元素

char数组初始化程序中的多余元素

char数组初始化程序中的多余元素错误

使用变量初始化二维数组的数组初始值设定项中的多余元素

设置2D字符数组时,如何修复“字符数组的初始化程序字符串太长”和“字符数组初始化程序中的多余元素”

添加到向量时标量初始值设定项中的多余元素

标量对象“ ***”在初始化程序中需要一个元素

标量对象在初始化程序中需要一个元素

成员结构位域元素的初始化程序列表初始化导致IAR ARM中的错误

我的编译器为我的代码显示了这些错误。1)[错误] char 数组初始值设定项中的多余元素 2)[错误](接近 'arr' 的初始化)

结构元素的初始化

C ++初始化程序列表的元素比结构少

通过初始化程序设置结构数组元素的语法?

在golang中初始化C结构时,结构初始化程序中的值太少

如何从C中的结构数组初始化单个元素?

初始化对结构中矩阵元素的引用

图片路径中的多余元素

在其初始化程序中引用正在初始化的结构是否安全?

错误:字符数组初始值设定项中的多余元素

警告:数组初始值设定项中的多余元素

在结构中初始化结构

无效的初始化程序-结构数组

Golang使用嵌入式模板初始化结构:结构初始化程序中的值太少

使用标量初始化程序初始化字符串数组

使用聚合初始化和成员初始化程序初始化结构

在构造函数中初始化EF POCO标量属性

如何使用C ++ 20指定的初始化程序在结构中初始化联合

结构初始化中的调用函数

C中结构的默认初始化