Forum : ST7/STM8
Original Post
Post Information | Post |
---|---|
March 21, 2011 - 10:17pm
|
In my code I want to store default values in a const struct, but I want to use the member names during initialization to prevent future bugs in the case of a typo. ("designated initializer list" is what that's called, right?) struct { u32 serial_number; u8 model; u8 mfg_year; u8 mfg_month; u8 mfg_day; } info; const struct info x { .serial_number = 0, .model = 0, .mfg_year = 11, .mfg_month = 3, .mfg_day = 1 }; But I get Quote: *** ERROR C000 IN LINE xxxx OF yyyy: Character '}' missing The following seems to work though: const struct info x { 0, 0, 11, 3, 1 }; What are my options? |
Hi,
This is NOT valid C code. Your best option is to stick to the standard (ISO C90), and use structure fields as ordered. C does not offer structure fields access by their names.
Best regards,