Nightmare1
@Nightmare1
Программист

Инициализация объединения из двух энумераций?

struct AggregationTypeAndMetalNonMetalTransitionData {
    PrimaryElementGroupType primarygrouptype; // Тип группы элемента.
    union {
        SecondaryElementGroupMetalType _metal; // Подгруппы металлов.
        NonMetalSecondaryGroupType _nonmetal; // Подгруппы неметаллов.
    } secondarytype;
    StateOfAggregationType stateofaggregation; // Агрегатное состояние вещества.
};


{PrimaryElementGroupType::nonmetals, NonMetalSecondaryGroupType::nonmetal, StateOfAggregationType::Gas}


Второй вариант инициализации не работает. Ошибка
k6ewDIJ.png
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Второй вариант инициализации не работает

Ну да, не работает. Таким образом можно инициализировать только первый элемент union. Есть ещё вот такой вариант инициализации, начиная с C++20.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы