2015-10-23 121 views
1
void ChangeStates(void) 
{ 
    int i; 
    for (i=0; i<CELLS; i++) 
    { 
     switch (state[i]) 
     { 
     case IMMUNE: 
      timer[i]--; 
      if(timer[i]==0) 
       state[i] = HEALTHY; 
      break; 
     case INFECTED: 
      timer[i]--; 
      if(timer[i]==0) 
      { 
       state[i] = IMMUNE; 
       timer[i] = IMM_TIME; 
      } 
      break; 
     case EXPOSED: 
      timer[i]--; 
      if(timer[i]==0) 
      { 
       state[i] = INFECTED; 
       timer[i] = INF_TIME; 
      } 
      break; 
     default: 


     } //Here is the error 
    } 
} 

該程序旨在對植物中的疾病動態做些事情,並使用開關功能來改變細胞狀態。錯誤:'}'令牌之前預期的初級表達式

我正在使用Qt Creator 5.5作爲初學者。 但我不知道如何解決這個錯誤。

在此先感謝

+0

看起來像它期待默認分支內的一些邏輯。現在試試刪除默認分支,看看有沒有什麼區別 – AdamJeffers

回答

1

「默認」必須被隨後的聲明中,「突破;」將工作。或者按照建議刪除默認值,這可能意味着更好的警告(未處理的開關中的枚舉值,這總是很好捕獲)。

您也可以在默認情況下執行'qFatal'以再次在交換機中捕獲未處理的狀態[]值。

+0

是的。有用。謝謝。週末愉快!! – Alex

相關問題