if (!TempMode == TEMP) {
//code
}
日志: :警告:比较常数' 10'布尔表达式总是为false [-Wbool-compare] if(!TEMPMode == TEMP){
答案 0 :(得分:5)
这实际上是运算符优先级的问题。首先计算一元!
,计算SimReleaseMode
的逻辑NOT;这是一个布尔数量(类型为int
,因为C)然后 用作比较的左手操作数。 GCC知道布尔量(0或1)的可能数值都不能等于RELEASE_MODE_MIXED
(数值2),所以它会警告你。
你可能打算写
if (!(SimReleaseMode == RELEASE_MODE_MIXED))
或更具惯用力
if (SimReleaseMode != RELEASE_MODE_MIXED)