#c #initialization #union
#c #инициализация #объединения
Вопрос:
Я знаю, что здесь есть много статей на эту тему, но ни одна из них не сработала для меня.
Проблема возникает из-за преобразования исходного кода c в исходный код c .
У меня есть структура.
typedef struct OptionDef {
const char *name;
int flags;
union {
void *dst_ptr;
size_t off;
} u;
} OptionDef;
И чего я хочу, так это
int main() {
const OptionDef optoins[] = {
{ "f", HAS_ARG/*SOME DEFINED VALUE*/, { .off = 2 } }
{ "c", OPT_STRING, { .off = 3} }
}
return 0;
}
Но в c возникает ошибка «ожидаемое выражение».
Как я могу инициализировать «выключенный» элемент объединения?
Заранее спасибо.
Комментарии:
1. Извините, не Options, это OptionDef.
2. Не перефразируйте сообщения об ошибках. Скопируйте их в точности.
3. Я процитировал сообщение об ошибке.
4. Вот что говорит мой компилятор: coliru.stacked-crooked.com/a/9cedebcb5396c8b2
5. Я проверил это, но не помогло. можете ли вы объяснить это?