【发布时间】:2018-05-30 23:00:22
【问题描述】:
我有一个名为 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是一个指针。 -
您正在尝试使用结构值初始化指针。也许你的意思是
struct result * result_elements = &(struct result){ NULL, 0 };?