Preguntas etiquetadas con enums

89
C ++: imprime el valor de enumeración como texto

Si tengo una enumeración como esta enum Errors {ErrorA=0, ErrorB, ErrorC}; Entonces quiero imprimir en la consola Errors anError = ErrorA; cout<<anError;/// 0 will be printed pero lo que quiero es el texto "ErrorA", ¿puedo hacerlo sin usar if / switch? ¿Y cuál es tu solución para...

89
Obtener enumeración asociada con valor int

Anteriormente, tenía mis enumeraciones LegNo definidas simplemente como: NO_LEG, LEG_ONE, LEG_TWO y al llamar return LegNo.values()[i];, pude obtener el valor asociado con cada enumeración. Pero ahora he decidido que quiero que la LegNoenumeración NO_LEGsea ​​int -1 en lugar de 0, así que...

87
Imprimir texto en lugar de valor de C enum

int main() { enum Days{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}; Days TheDay; int j = 0; printf("Please enter the day of the week (0 to 6)\n"); scanf("%d",&j); TheDay = Days(j); //how to PRINT THE VALUES stored in TheDay printf("%s",TheDay); // isnt working...

84
Conversión de Int a Genérico Enum en C #

Similar a Cast int to enum en C # pero mi enum es un parámetro de tipo genérico. ¿Cuál es la mejor manera de manejar esto? Ejemplo: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } Genera error del compilador Cannot convert type 'int' to 'T' El código...

84
Enum vs enumeración fuertemente tipada

Soy un principiante en programación C ++. Hoy me encuentro con un nuevo tema: fuertemente tipado enum. Lo he investigado un poco, pero hasta ahora no he podido averiguar por qué lo necesitamos y para qué sirve. Por ejemplo si tenemos: enum xyz{a, b, c}; /*a = 0, b = 1, c = 2, (Typical C...

83
Enum extraño en destructor

Actualmente, estoy leyendo el código fuente de Protocol Buffer, y encontré un enumcódigo extraño definido aquí ~scoped_ptr() { enum { type_must_be_complete = sizeof(C) }; delete ptr_; } void reset(C* p = NULL) { if (p != ptr_) { enum { type_must_be_complete = sizeof(C) }; delete ptr_;...

81
Forma genérica de convertir int a enum en C ++

¿Hay una manera genérica para echar inta enumen C++? Si intcae en el rango de un enum, debería devolver un enumvalor; de lo contrario, arroje un exception. ¿Hay alguna forma de escribirlo genéricamente ? Se enum typedebería admitir más de uno . Antecedentes: tengo un tipo de enumeración...