switch 语句不应只包含 default 标签
9.5.9 ID_switch_onlyDefault
只有 default 标签的 switch 语句是没有意义的,起不到分枝选择的作用,往往是残留代码或功能未实现。
示例:
switch (v)
{
default: // Non-compliant
....
}
这种空的可以 fallthrough 到 default 标签的空 case 标签也是没有意义的:
switch (v)
{
case 1: // Non-compliant
case 2:
default:
....
}
参考
MISRA C 2012 16.6
MISRA C++ 2008 6-4-8