使用gcc 4.8.3版本,当我尝试编译我的代码时,我面临以下问题。
错误:'x'的地址将始终评估为'true'[-Werror = address]
if (x) {
^
cc1: all warnings being treated as errors
代码: -
boolean x[MEM_WORD_WIDTH];
if (mm (temp)) {
intro= etcorn (mmd, with, packing,x, eiP, message);
}
else{
if (x) {
//code
}
}
'x'标记为布尔值。 当我用早期的gcc版本(4.1.x)运行它时。我没有看到任何问题。
答案 0 :(得分:1)
你的X不是布尔值,而是布尔数组。
因此,if不会检查任何布尔值,而是检查该数组的地址。