2014-09-27 55 views
-3

如果有人能帮我解决这个警告将不胜感激。 感谢由于数据类型范围有限,比较始终是虚假的

错误代码:

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 SOURCE CODE

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

+0

请提供表示该警告的SSCCE,扩大使用的类型定义。 – Pradhan 2014-09-27 04:36:51

+0

我哪里错了?你请检查并在pastebin上的源代码。我找不到导致问题的人。有人可以向我解释究竟要改变什么和在哪里。 – 2014-09-27 04:38:38

回答

2

在您的线路640:

if (p >= DRAGON_SOUL_INVENTORY_MAX_NUM) 

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

至少乍一看,它看起来像线666基本上相同于线640

+0

谢谢Jerry Coffin。 – 2014-09-27 04:49:48

+0

你能告诉我你需要做些什么来摆脱这个警告吗? 我有点新来C++。 – 2014-09-27 04:51:03

+1

不,我不能。你已经发布了~7500行代码的链接,这是完全不完整的,因为它包含了你还没有发布的十几个头。 – 2014-09-27 05:13:05