переключать регистр и перечисление в C ++ ошибка - выражение должно иметь постоянное значение - PullRequest
0 голосов
/ 13 марта 2020

Я не могу понять проблему с этим кодом:

class Class_name{
public:
    struct handler_struct
    {
        enum state_enum
        {
            Idle = 0,
            StartTX,
            Transmitting,
            TX_Error_SOF
        }state;
    }handler;
};

switch(Class_name::handler.state)
{
    case Class_name::handler.Idle:
    {
        break;
    }
}

Код работает, если я перемещаю перечисление состояния структуры так, как оно определено снаружи. Может кто-нибудь сказать мне, что не так?

...