Страницы

Поиск по вопросам

четверг, 20 декабря 2018 г.

2 Enum с одинаковыми полями

Каким образом определить 2 enum с одинаковыми полями?
enum horizontal_alignment { stretch = 0x0, center, left, right };
enum vertical_alignment { stretch = 0x0, center, top, bottom };


Ответ

Либо спрятать каждый enum в отдельный namespace или класс.
Либо использовать scoped enum
enum class horizontal_alignment { stretch = 0x0, center, left, right };
enum class vertical_alignment { stretch = 0x0, center, top, bottom };
Разумеется, обращаться к элементам таких enum придется с указанием полного имени vertical_alignment::stretch

Комментариев нет:

Отправить комментарий