#keywords C++,enum {{{#!gcode namespace CurrentState { enum Enum { ALLOW_PROGRAM, ALLOW_DLL, DENY_PROGRAM, DENY_DLL, INTERCHANGING = 100 }; } ... CurrentState::Enum CPage2::GetCurrentState(CString line) { static CurrentState::Enum state = CurrentState::ALLOW_PROGRAM; ... return state; } }}} * 장점 - 열거형의 접두어가 필요없어진다. - 네임 스페이스에 의해 인텔리센스의 지원을 받을 수 있다. '''- 컴파일러에서 하나의 완전한 타입처럼 인식하기 때문에, 발견하기 어려운 버그를 막을 수 있다.''' 2015.07.24. 추가 C++11 에서 추가된 enum class 를 사용하면 위 같이 namespace를 사용하지 않아도 위에서 열거한 모든 장점들을 얻을 수 있다. 사용 방법은 다음과 같다. {{{#!gcode // 선언 enum class CurrentState { ALLOW_PROGRAM, ALLOW_DLL, DENY_PROGRAM, DENY_DLL, INTERCHANGING = 100 }; // 사용 CurrentState state = CurrentState::ALLOW_PROGRAM; }}} ---- CategoryDocument