2014-09-27 53 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