我有一个类似的代码
A = B|C|D|E;
引发警告“|运算符中的最正括号”
期望表达式需要运算符具有高度优先权,因此尝试了以下方法:
A=(B|C)|(D|E);
另外一个如:
A=(((B|C)|D)|E);
同样的警告仍然存在。
请帮助我解决这个问题。
谢谢,
Sujatha
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/