[問題] 多重include問題

看板C_and_CPP (C/C++)作者 (PENPEN)時間15年前 (2011/03/25 04:06), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) BCB 6.0 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 多重include 和2502篇應該是類似的問題 A form: A.h A.cpp B form: B.h B.cpp (include A.h) C form: C.h C.cpp (include A.h) 然後編譯的時候就爆了, 倘若只有B include A.h,那就能順利過關執行, 我想問題應該就是出現多重include,但是小弟我不知道該如何解決, 錯誤訊息為:Type name expected Declaration missing 經查問題是出在某個變數的宣告,以及該變數的new的位置, 需要這麼做的原因是因為A是MainForm,然後B,C都是由A點選才能啟動的Form, 同時也需要從A獲得一些參數,以方面後續進行工作, (A切換語言的時候,B和C雖然尚未開啟,但是一旦開啟也會切換成該語言) 所以我在A設定一個public的變數,讓B,C能使用此變數判斷現在的語言為何; 2502提到的ifndef...endif我也已經使用了, 還是沒有效果, 不知道是否有人能夠幫幫我呢? 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.149.220

03/25 11:42, , 1F
你可以檢查一下b.cpp在include a.h之前有 include那些東西
03/25 11:42, 1F

03/25 13:20, , 2F
變數不要在.h宣告
03/25 13:20, 2F

03/25 13:53, , 3F
有出錯的程式碼區段為何?
03/25 13:53, 3F

03/25 13:54, , 4F
可以用用 #ifndef
03/25 13:54, 4F

03/25 14:05, , 5F
隨便猜,用 extern 宣告外部變數。
03/25 14:05, 5F
文章代碼(AID): #1DYwHCLx (C_and_CPP)
文章代碼(AID): #1DYwHCLx (C_and_CPP)