tuve código que se veía así:¿Por qué debería tener una enumeración declarada con un typedef en C++?
enum EEventID {
eEvent1,
eEvent2,
...
eEventN };
Y eso obtuve revisado y cambiado a
typedef enum {
eEvent1,
eEvent2,
...
eEventN } EEventID;
¿Cuál es la diferencia entre los dos? ¿Por qué hacer el cambio? Cuando miré this question, la única mención de typedefs fue downvoted.
Gracias por elucicdation. Estaba empezando a preocuparme si había otra esquina de C++ que creía conocer, pero ignoraba por completo (ver: la gimnasia de plantilla que hacen los chicos de Boost tan fácilmente) – mmr
"Los dos son idénticos en C++" - vale la pena señalar que en algunos casos la información de depuración de la implementación puede diferir ya que typedef está efectivamente en una enumeración anónima o aleatoria, por lo que la información de depuración puede documentarlo como tal en lugar de como "EEventID". Esto lleva a algunas personas al aún más feo 'typedef enum Idn1 {...} Idn2;', con uno típicamente formado al agregar un prefijo o sufijo al otro :-(- no resuelve el problema exactamente, pero proporciona más idn trazable. –