我有以下代码:
#define NUMBER_OF_ROOMS
if((unsigned int)(NUMBER_OF_ROOMS - 2) > 20)
{
// do something here
}
Run Code Online (Sandbox Code Playgroud)
但我得到了一个lint警告:Warning 506: Constant value Boolean这是什么意思,以及如何解决它?
这意味着表达式的值是常量,因此它if是无意义的,因为它在编译时是否已知为真.
您当然可以使它更具动态性,或者使用预处理器:
#if (NUMBER_OF_ROOMS - 2) > 20
// do something here
#endif
Run Code Online (Sandbox Code Playgroud)
我认为演员(unsigned int)阵容是没有意义的,如果这些真的是接近整数精度边界的值,那么Jens Gustedt的评论适用.