☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

switch 语句的条件表达式不应为 bool 型

9.5.8 ID_switch_bool
目录 › next › previous

如果条件表达式为 bool 型,应改用 if-else 语句使代码的结构更清晰。

示例:

void foo(bool b)
{
    switch (b)   // Non-compliant
    {
    case true:
        ....
        break;
    case false:
        ....
        break;
    }
}

应改为:

void foo(bool b)
{
    if (b)  // Compliant
    {
        ....
    }
    else
    {
        ....
    }
}

参考

MISRA C 2004 15.4 MISRA C 2012 16.7 MISRA C++ 2008 6-4-7
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.