У меня есть старая библиотека C, и я должен обернуть ее в среде C ++. Я использую C ++ 11 enum class
потому что они так полезны, и я хотел бы сделать трансформацию оригинала enum
в новый enum class
без просто создать новый enum class
и переписать это. Я хотел бы сделать что-то вроде typedef
как в старом С:
enum num_oldc
{
one,
two,
three
};
typedef enum num_oldc num_oldc_t;
Но one_t
должен быть доступен через область видимости num_t::two
точно так же, как я могу получить доступ к новому C ++ 11 enum class
,
Вы не сможете сделать это с typedef
, Однако вы можете сделать это следующим образом.
enum class
с записями, которые соответствуют записям вашего C-стиля enum
,enum class
и стиль С enum
,enum class
,enum
всякий раз, когда вам нужно взаимодействовать с библиотекой, которую вы упаковываете.Других решений пока нет …