我在使用下面的代码
时遇到了一些转换问题int mode = 4;
if (mode & 1) { // Getting conversion issue from this line
x = 0;
if (mode & 4 ) {y = -ry ;} else {y = ry;};
}
如何解决这个问题?有什么建议吗?
答案 0 :(得分:4)
mode & 1
被评估为int
,无法转换为boolean
(这是if
语句表达式的预期类型。)
假设你想测试是否mode & 1 > 0
,你应该写:
if ((mode & 1) > 0) // tests if the lowest bit of mode is 1
以后
if ((mode & 4) > 0) // tests if the 3rd lowest bit of mode is 1