Избыточные элементы в скалярном инициализаторе для структуры - PullRequest
0 голосов
/ 31 мая 2018

У меня есть структура с именем 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 допустимо?

Приветствия :)

1 Ответ

0 голосов
/ 31 мая 2018

Это указатель

struct result * result_elements /**/;

Вы пытаетесь инициализировать его с помощью

{ NULL, 0 }

Вы можете инициализировать его, например, с помощью скалярного инициализатора, например

NULL

Вы можете инициализировать отдельную (не указательную) переменную с помощью своего нескалярного инициализатора, например,

struct result avariable = { NULL, 0 };

И затем вы можете инициализировать свой указатель как

struct result * result_elements = &avariable;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...