【发布时间】:2010-06-04 06:45:46
【问题描述】:
我有一个类似的代码
A = B|C|D|E;
抛出警告“在 | 的操作数中建议用括号括起来”
预计表达式需要高优先级的运算符括号,尝试了以下方法:
A=(B|C)|(D|E);
还有一个:
A=(((B|C)|D)|E);
同样的警告仍然存在。
请帮我解决这个问题。
谢谢, 素佳他
B、C、D 是枚举,E 是整数。
【问题讨论】:
-
你使用的是哪个编译器?
-
您的示例使用 GCC 编译时不会发出警告。
-
究竟什么是 B C D 和 E?
-
@Programmer:通过
gcc -E运行您的源文件并查看输出。您绝对确定编译器对 A、B、C、D 和 E 的解释是您认为的那样吗? -
@Programmer:您能发布您正在使用的确切编译器选项吗? (我似乎也无法通过
gcc-4.3和-Wall -Wextra收到此警告)
标签: c++ warnings parentheses