Поддержка "человеческой" инициализации полей структуры, битовых полей и прочих именованных полей везде где возможно.

HedgehogInTheCPP
HedgehogInTheCPP
static volatile uint16_t* const name = (volatile uint16_t*)(XXXXX);

struct ConfigDacLoop
{
   uint16_t unsign : 1, loop : 1;
};


ConfigDacLoop get_config_dac_loop() { return static_cast<ConfigDacLoop>(*config_dac_loop); }

void set_config_dac_loop(const ConfigDacLoop& p_config_dac_loop) { *config_dac_loop = p_config_dac_loop; }


set_config_dac_loop(.unsign = 1, .loop = 0); // Not working.

set_config_dac_loop({.unsign = 1, .loop = 0}); // Not working.

set_config_dac_loop(ConfigDacLoop{.unsign = 1, .loop = 0}); // Not working.​
-3
рейтинг
2 комментария
yndx-antoshkka

Вроде всё хорошо: https://godbolt.org/z/99an43

yndx-antoshkka
Обновлено 
HedgehogInTheCPP

yndx-antoshkka, хм, да, с 14 стандарта так можно (2 и 3 вариант ожидаемо). Похоже я уже потионьку начинаю забывать как писать на С++ вручную, всё генерацией обложено. В следующий раз буду проверять на compiler explorer.

HedgehogInTheCPP
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения