我有这样的代码
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/