爲了以後的讀者和我自己的理智後來的興趣,我想清楚地說明switch
沒有default
的情況(由於所有情況都被覆蓋)或順序if-elseif-else
與最後的不應該做任何事情的最後一定不能省略,並且包括該效果的評論(參見示例)。C++:switch語句在關閉大括號之前缺少分號
但是,每當我包括在switch
聲明default
情況下,讓它空我必須把分號default
情況或編譯器錯誤中:「行`失蹤[switch語句的結束花的線路]‘;’在'}'之前發生。 爲什麼?
例:生成編譯器錯誤
switch(direction) {
case MOVE_UP:
//...
break;
case MOVE_RIGHT:
//...
break;
case MOVE_DOWN:
//...
break;
case MOVE_LEFT:
//...
break;
default:
/* DO NOTHING */
}
實例:不生成編譯器錯誤
switch(direction) {
case MOVE_UP:
//...
break;
case MOVE_RIGHT:
//...
break;
case MOVE_DOWN:
//...
break;
case MOVE_LEFT:
//...
break;
default:
/* DO NOTHING */;
}
僅供參考在C++中默認情況下是可選的... – AJG85
如果要保持一致,請在默認情況下放置一個'break;'。 –