編譯器錯誤C2440我得到一個C2440編譯器錯誤,當我建立我的程序,但無法弄清楚如何解決它幫助與C++
這裏是它出現就行了:
if((*Iter)->classID != classID && (*Iter)->getX() == (int)pos.x && (int)(*Iter)->getY == (int)pos.y)
請幫忙!!!
編譯器錯誤C2440我得到一個C2440編譯器錯誤,當我建立我的程序,但無法弄清楚如何解決它幫助與C++
這裏是它出現就行了:
if((*Iter)->classID != classID && (*Iter)->getX() == (int)pos.x && (int)(*Iter)->getY == (int)pos.y)
請幫忙!!!
看起來你是在爲你getY
呼叫丟失()
:
(int)(*Iter)->getY
大概應該是(int)(*Iter)->getY()
我同意這看起來也是一個錯誤(+1),但我不認爲這是編譯器在這裏抱怨的錯誤。至少,我不認爲這會導致無效的類型轉換消息。 – 2011-05-20 01:38:47
@比利:它*對我來說很有意義(將函數指針類型轉換爲int而不是返回值),但它是第一個立即脫穎而出的:) – 2011-05-20 01:41:49
@Billy:可以將無效類型轉換爲試圖將一個函數指針(即getY)轉換爲一個整數? (自己還沒有編譯過。) – 2011-05-20 01:42:19
我猜它這部分(*Iter)->getX() == (int)pos.x
,也許它需要(int)(*Iter)->getX() == (int)pos.x
。這僅僅是基於表達式的(int)(*Iter)->getY == (int)pos.y
部分的黑暗中的一個鏡頭。更多的代碼/上下文將會非常有幫助。正如德米安布萊希特所指出的那樣,也許()
在表達的這一部分也是缺失的。
Iter是什麼?你能發佈更多的代碼嗎? – user258808 2011-05-20 01:37:55