아래 함수가 열거 형입니다. 버튼을 누르면 값을 증가시키고 싶었습니다.버튼을 눌렀을 때 enum 값이 증가합니다
typedef enum {
DATE_TIME,
COORDINATE,
WINDSPEED,
POSITIONTRACK,
DISPAY_PARAMETER,
SET_PARAMETER,
DISPLAY_TYPE_MAX
}DISPLAY_SCREEN_TYPE;
DISPLAY_SCREEN_TYPE display_screen_type=DATE_TIME;
button=check_key();
if(button==RIGHT)
display_screen_type++;
오류 메시지 컴파일 중 오류가 발생합니다.
error: no 'operator++(int)' declared for postfix '++', trying prefix operator instead
error: no match for 'operator++' in '++display_screen_type'
이 내 실제 코드 구문 CODE discription
정확하게 당신이 달성하려고하는 무엇
확실히. 열거 형은 산술 연산이 정의 된 유형이 아닙니다. int에서 /로 명시 적으로 캐스트 할 수는 있지만 추한 것입니다. – user3159253
위의 값을 사용하여 enum을 int로 선언 할 수있는 방법 – RKNAYAK
프로그램 상태 및 상태 간 전환을 올바르게 처리하려면 FSM (Finite State Machine)을 작성해야 할 수 있습니다. @millinon은 프로그램이 아주 간단하다면 간단한'switch'를 사용하거나 C++ 용으로 기존의 FSM 라이브러리 중 하나를 살펴볼 것을 제안 했으므로 _for example_ http://boost-extension.redshoelace.com/docs/boost/fsm /doc/state_machine.html – user3159253