我正在寻找 C 编程语言中的解决方案来删除此警告:
有符号和无符号警告之间的比较
我不只是在类型的变量中做一个cast
to ,而是认为如下:unsigned
int
#if MAX_NAME >= INT_MAX
size_t name_size = 0;
#define INT_TYPE size_t
#else
int name_size = 0;
#define INT_TYPE int
#endif
进而:
if(.. && name_size++ >= (INT_TYPE)sizeof(name)) {
//..
}
你如何解决它?
此外,对宏名称的建议也INT_TYPE
很受欢迎。