У меня есть ситуация, когда мне нужно два перечисления, чтобы держать одного члена с тем же именем. Мой код на C ++, с использованием IAR Embeddedj Workbench IDE. Фрагмент кода выглядит следующим образом:
enum Port_e : uint32_t
{
PortA = 0,
PortB,
PortC,
PortD,
PortE,
PortF,
PortG,
PortH,
PortI,
PortJ,
PortK,
NONE
};
enum Pin_e : uint32_t
{
Pin0 = 0, Pin1, Pin2, Pin3, Pin4, Pin5, Pin6, Pin7,
Pin8, Pin9, Pin10, Pin11, Pin12, Pin13, Pin14, Pin15,NONE
};
Если вы заметили, что оба перечисления имеют последнего члена как НЕТ . Этот код не компилируется. Выдает ошибку, поскольку НЕТ уже определено.
Можно ли как-нибудь собрать его, сохранив имя как есть? Я также не хочу менять тип на «enum class», так как это нарушит остальную часть кода моего приложения.