¿Hay alguna forma de reutilizar el mismo valor enum en tipos separados? Me gustaría ser capaz de algo así como lo siguiente:Reutilizando valores de enum en tipos de enumeración separados
enum DeviceState { UNKNOWN, ACTIVE, DISABLED, NOTPRESENT, UNPLUGGED };
enum DeviceType { UNKNOWN, PLAYBACK, RECORDING };
int _tmain(int argc, _TCHAR* argv[])
{
DeviceState deviceState = DeviceState::UNKNOWN;
DeviceType deviceType = DeviceType::UNKNOWN;
return 0;
}
Esto tiene sentido para mí, pero no hasta el C++ compiler- se queja: error C2365: 'UNKNOWN' : redefinition; previous definition was 'enumerator'
en la línea 2 de los anteriores. ¿Hay una forma correcta de hacerlo, o se supone que siempre debo usar valores enum únicos? No me puedo imaginar que esto siempre sea posible para garantizar si incluyo el código de otra persona.
Gracias Luchian. Por favor, podrías corregir mi ejemplo por mí. No estoy seguro de cómo declarar una variable usando espacios de nombres como describió anteriormente. –
@IAmAI, ¿entonces el código que publiqué no funciona? –
Si declaro una variable como 'DeviceState deviceState = DeviceState :: UNKNOWN;', obtengo un error de compilación: ''DeviceState': uso ilegal del identificador de espacio de nombres en la expresión' –