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

枚举对象不应参与位运算或算数运算

10.2.5 ID_illEnumOperation
目录 › next › previous

枚举类型的底层整数类型由实现定义,应避免枚举对象参与位运算或算数运算,以防止意料之外的错误并提高可移植性。

示例:

enum  {
    FlagA = 0x1234,
    FlagB = 0xABCD
};

bool foo(uint16_t x) {
    return (x & FlagA) != 0;   // Non-compliant
}

相关

ID_bitwiseOperOnSigned

依据

ISO/IEC 9899:1999 6.7.2.2(4)-implementation ISO/IEC 9899:2011 6.7.2.2(4)-implementation ISO/IEC 14882:2011 7.2(6)-implementation ISO/IEC 14882:2017 10.2(7)-implementation

参考

MISRA C 2012 10.1
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.