MISRA C++ 2008, 4-5-2 规定:枚举类型的表达式不得用作除下标运算符 [ ]、赋值运算符 =、等于运算符 == 和 != 之外的内置运算符的操作数、一元 & 运算符以及关系运算符 <、<=、>、>=。
如果可以使用&为什么不允许使用二进制|用枚举?
最佳答案
您进行了错误的比较。
一元&
是“address-of”运算符,与二元&
“and”运算符没有关系。
MISRA 规则禁止对枚举进行所有按位操作,但继续允许获取此类类型对象的地址。
关于c++ - 枚举和二元或运算符 (MISRA C++ 2008, 4-5-2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388540/