我正在與這個任務:)作鬥爭在類中聲明對象時可能會導致此錯誤的原因是什麼?
我有兩個類:海洋和網格。
當我宣佈海洋內部網格的對象:
unsigned int sharkCount;
Grid grid;
編譯器/抱怨說:
error C2146: syntax error : missing ';' before identifier 'grid'
你能可能預測哪些與產生此錯誤我提供的有限信息?
看來,好像海洋不喜歡網格類。這可能是因爲網格類的執行不力。順便說一句,網格有一個默認的構造函數。
然而,錯誤發生在編譯時間!
編輯:他們每個都在單獨的頭文件中,並且我已經在Ocean.h中包含了Grid.h。
你是否也包含在Ocean.h通過Grid.h誤?這可能會導致問題。 – 2010-05-22 06:51:54
@詹姆斯好吧,我不會再編程了,因爲我那樣做了:) 反正,這並不能解決我的問題。 編輯:其實它確實感謝詹姆斯。我會試着弄清楚爲什麼這個問題正在發生。 – m4design 2010-05-22 06:55:33
發生這種情況是因爲它們包含的順序。請記住,在每個標題的頂部是一個* include guard *,它可以防止自己被包含兩次。否則,標題將會遞歸地永遠包含對方。 – rlbond 2010-05-22 07:11:28