enum OldError { E_OK, E_WTF }; enum class Error { OK, WTF }; int main() { if (OldError e = E_WTF) // компилируется printf("!"); if (Error e = Error::WTF) // нет printf("!"); }
Используют boost и google-protobuf.
enum OldError { E_OK, E_WTF }; enum class Error { OK, WTF }; int main() { if (OldError e = E_WTF) // компилируется printf("!"); if (Error e = Error::WTF) // нет printf("!"); }