我有下面的函數有枚舉。如果按下按鈕,我想增加數值。當按下按鈕時遞增枚舉值
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)來正確處理程序的狀態以及狀態之間的轉換。正如@millinon建議,如果程序足夠簡單,可以使用簡單的'switch',或者查看一個現有的C++ FSM庫__ example_ http://boost-extension.redshoelace.com/docs/boost/fsm /doc/state_machine.html – user3159253