C++ 警告 : suggest parentheses around arithmetic in operand of |

标签 c++ warnings parentheses

我有这样的代码

A = B|C|D|E;

抛出警告“建议在 | 的操作数中使用括号”

期望表达式需要运算符的高优先级括号,尝试了以下方式:

A=(B|C)|(D|E);

还有一个:

A=(((B|C)|D)|E);

仍然存在相同的警告。

请帮我解决这个问题。

谢谢, 素加他

B、C、D 是枚举,E 是整数。

最佳答案

你的表达式中有一些算术运算符不是真正简单的 B,或者不是真正简单的 C,等等。编译器建议你用括号括起任何表达式,以便读者看到你写的是你的意思.如果你不加括号,每个人都必须准确记住优先级是什么,他们必须弄清楚你是否记得你写的时候。

试试这个:(B)|(C)|(D)|(E)。

关于C++ 警告 : suggest parentheses around arithmetic in operand of |,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972020/

相关文章:

c++ - 在 C 程序中添加 C++ 代码 - 预期 ‘,’ 或 ‘...’ 之前的 ‘this’

Windows x64 & "parenthesis in path"批处理文件问题

regex - 删除最外面的括号

c++ - `static_cast<bool>(x)` 和 `x != 0.0` 之间有区别吗?

无法让 fwrite 正常工作

c++ - 使用 STL 容器时应该使用 int 还是 unsigned int?

emacs - 为什么emacs lisp中的 `let`后面有两个括号?

C++ 我知道数组长度,但想知道是否有一种更简洁的方法来定义数组元素

c++ - 如何包含 <emscripten/emscripten.h>

c++ - 解析 SVG 变换属性的变换列表