有没有办法在不同的类型中重用相同的枚举值?我希望能够做到以下几点:
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 行。有没有这样做的正确方法,或者我应该总是使用唯一的枚举值?我无法想象这总是可以保证我是否包含其他人的代码。