相关疑难解决方法(0)

签名/未签名比较

我试图理解为什么以下代码不会在指定的位置发出警告.

//from limits.h
#define UINT_MAX 0xffffffff /* maximum unsigned int value */
#define INT_MAX  2147483647 /* maximum (signed) int value */
            /* = 0x7fffffff */

int a = INT_MAX;
//_int64 a = INT_MAX; // makes all warnings go away
unsigned int b = UINT_MAX;
bool c = false;

if(a < b) // warning C4018: '<' : signed/unsigned mismatch
    c = true;
if(a > b) // warning C4018: '<' : signed/unsigned mismatch
    c = true;
if(a <= b) // warning C4018: …
Run Code Online (Sandbox Code Playgroud)

c++ comparison unsigned signed visual-studio-2005

77
推荐指数
4
解决办法
8万
查看次数

标签 统计

c++ ×1

comparison ×1

signed ×1

unsigned ×1

visual-studio-2005 ×1