동일한 열거 형 값을 별도의 형식으로 다시 사용할 수 있습니까? 나는 다음과 같은 것을 할 수 싶습니다열거 형 값을 별도의 열거 형 형식으로 다시 사용
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가 compiler- ++에 : 위의 2 행에 error C2365: 'UNKNOWN' : redefinition; previous definition was 'enumerator'
. 이 작업을 수행하는 올바른 방법이 있습니까? 아니면 항상 고유 한 열거 형 값을 사용해야합니까? 나는 다른 누군가의 코드를 포함하고 있다면 이것이 항상 보장 될 수 있다고 상상할 수 없다.
감사합니다. Luchian. 저를 위해 제 모범을 바로 잡을 수 있습니까? 위에서 설명한대로 네임 스페이스를 사용하여 변수를 선언하는 방법을 잘 모르겠습니다. –
@IAmAI 게시 한 코드가 작동하지 않습니까? –
변수를'DeviceState deviceState = DeviceState :: UNKNOWN;'으로 선언하면 컴파일러 오류가 발생합니다 :''DeviceState ': 표현식에서 네임 스페이스 식별자를 잘못 사용했습니다.' ' –