由于数据类型的范围有限,比较总是错误的

Comparison is always false due to limited range of data type

本文关键字:比较 错误 数据类型 范围      更新时间:2023-10-16

如果有人能帮我解决这个警告,我们将不胜感激。感谢

错误代码:

file.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
file.cpp:640: warning: comparison is always false due to limited range of data type
file.cpp:666: warning: comparison is always false due to limited range of data type

PASTEBIN源代码

这个社区很美。我不知道它的存在。

在您的640行是:

if (p >= DRAGON_SOUL_INVENTORY_MAX_NUM)

您已经将p定义为类型BYTE,这可能是unsigned char,这意味着p的最大可能值是255。显然,DRAGON_SOUL_INVENTORY_MAX_NUM是一个大于255的数字,所以p >= DRAGON_SOUL_INVENTORY_MAX_NUM不可能是真的。

至少乍一看,第666行与第640行基本相同。