les enums être définie comme u_int8_t variables dans la structure

J'ai un enum dans une structure:

enum Days : uint8_t
{
  day1 =1,
  day2 =2,
  day2 =3
}

struct Hi
{
  Days days;
}

Sur la compilation, j'obtiens une erreur Scoped enums not available in this version.
J'ai besoin de tous mes énumérations d'être un uint8_t type et définie dans la structure.

  • Vous avez besoin de C++11. Quel compilateur utilisez-vous?
  • Pourquoi? Avez-vous une exigence que ce code compile pas pour les plates-formes qui ne sont pas exactement 8-bit unsigned integer? Une telle exigence serait très rare. uint_least8_t ou uint_fast8_t est presque certainement mieux. Donc, est unsigned char, ce qui est nécessaire à b au moins 8 bits de large et non signés.
  • J'ai besoin d'avoir des enums strictement 8 bits .
  • Qu'est-ce, en C ou en C++? Leurs concepts de énumérations sont tout à fait différents.
  • day2 est répété deux fois!
InformationsquelleAutor user2618994 | 2013-08-14