为了未来读者的利益和我自己的理智,我想绝对清楚地表明:switch
没有a的语句default
案例(由于涵盖了所有案例)或顺序if-elseif-else
最后的 else 不应执行任何操作,不得省略,并包含对此效果的注释(请参见示例)。
然而,每当我包括default
案例中的switch
声明并将其留空我必须在里面加一个分号default
情况或编译器错误:“行 [switch 语句的右大括号行]`缺少 ';'在 '}'" 出现之前。WHY?!
示例:生成编译器错误
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 */;
}
因为你需要一份声明default
案件。分号是一个空语句。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)