2011-03-07 138 views
0

我覺得現在這樣愚蠢:C++只是一個語法錯誤:語法錯誤:標識符

moveSequence look(COORD xyBeatle, fieldd &field); 

什麼能如此錯了,給一個語法錯誤?

error C2061: syntax error : identifier 'fieldd' 

我所試圖做的是傳遞一個一類fielddlook()通過參考:

moveSequence sequence = look(xy, m_field); 

它似乎並不承認類型字段

其實我散佈錯誤所有關於應該是類型字段的東西都有類型int假定等..

這是經過長時間的重構ng,甚至沒有回到編譯的地步,所以我不知道什麼改變立即造成了這一點。


編輯:現在我注意到,智能感知強調,只一會兒,斷斷續續的地方,編譯器拋出真正的錯誤.....我禁用PCH和改建,但並沒有工作。


EDIT2: 變量名是沒有問題的,這是第一件事我試過一次。


EDIT3: 我終於能夠趕上智能感知的錯誤之一,它很快更改爲"class fieldd"前閱讀"identifier "fieldd" is undefined"我認爲這可能是與頭一個問題。這傢伙問題是標題:http://www.gamedev.net/topic/555445-solvederror-c2061-syntax-error--identifier-t3dobject/

+1

A *星期*的重構?之前有一個名稱,我們只是稱它爲「重寫」! – 2011-03-07 04:33:11

+0

它幾乎是,它失控了。每當我讀書時,我都會學習如何做一些「更正確的事情」,而且看起來好一會兒,直到我意識到它已經破壞了別的東西......這讓我們可以更多地搜索它......循環 – Zak 2011-03-07 04:38:43

回答

1

我們確實需要更多的代碼來識別您的問題,但是我想知道是否需要轉發declare fieldd,因爲您已將代碼重構爲不同的文件,也許頭文件沒有正確包含,或者依賴關係不再有意義?

將您的聲明更改爲:moveSequence look(COORD xyBeatle,class fieldd & field) 可能會爲您提供更多信息。

+0

它是循環頭文件包含的,並且前面的聲明修正了它......只是爲了暴露下一個文件中的數百個其他錯誤,我必須通過包括鏈接問題來解決問題,謝謝讓我解除錯誤。 – Zak 2011-03-07 06:39:13

3

field似乎是一個類型的名稱。使用不同的變量名稱。

+0

之前我這樣做,我會說在改變事情之前,名爲'field'的類不是問題。這仍然是問題嗎? – Zak 2011-03-07 04:33:10

+0

我無法回答,因爲我不知道你改變了什麼。但是從上面的代碼開始,因爲這是你給我們繼續下去的所有東西,所以它看起來和使用int int作爲函數或方法的參數相當。看看爲什麼這不起作用? – 2011-03-07 04:36:45

+0

我同意你的處方,使參數名稱與參數類型不同。但它與int int不類似,因爲int是一個關鍵字。 – 2011-03-07 05:00:50

0

fieldd如果我理解的很好,不會被視爲一種類型。

fieldd foobar是否在觸發錯誤的行上起作用?如果不是,可能是你錯過了包含聲明fieldd

相關問題