有没有办法在不同的类型中重用相同的枚举值?我希望能像下面这样:在单独的枚举类型中重用枚举值
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;
}
这对我来说很有意义,而不是C++的反编译它抱怨:error C2365: 'UNKNOWN' : redefinition; previous definition was 'enumerator'
以上的2号线。有没有这样做的正确方法,或者我应该总是使用独特的枚举值?我无法想象,如果我包含别人的代码,这总是可以保证。
谢谢Luchian。请你能帮我纠正我的例子。如上所述,我不确定如何使用名称空间声明变量。 –
@IAmAI所以我发布的代码不起作用? –
如果我声明一个变量为'DeviceState deviceState = DeviceState :: UNKNOWN;',我得到一个编译器错误:''DeviceState':非法使用表达式中的名称空间标识符 –