有沒有辦法在不同的類型中重用相同的枚舉值?我希望能像下面這樣:在單獨的枚舉類型中重用枚舉值
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':非法使用表達式中的名稱空間標識符 –