2012-12-09 12 views
10

Muszę spakować kilka wyliczeń do tablicy bajtów (char*) i wysłać przez sieć. Czy można ustawić domyślny typ wyliczenia jako niepodpisany znak? (Teraz mogę rzucać lub używać & 0xff wyodrębnić pierwszy bajt/char ale wymaga dodatkowych operacji, więc czy jest jakiś sposób na rozwiązanie tego w definicji enum?)Czy można ustawić domyślny typ wyliczenia jako niepodpisany znak?

Odpowiedz

14

Jest to możliwe tylko z C++ 11 strongly typed enums:

enum class MyEnum : unsigned char { E1, E2 }; 

Zobacz here więcej informacji

+2

silnie wpisane enum sama w sobie nie jest potrzebna, C++ 11 pozwala określić typ domyślny dla zwykłych teksty stałe też. –

Powiązane problemy