[問題] C++ class中 static 變數的問題

看板C_and_CPP作者 (19非崇貞,最多是袁紹)時間13年前 (2011/02/09 21:18), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C++ 問題(Question): 想知道這樣為何compile會過. class A_List{ private: struct A_Elm { A *m_fun; struct LA_Elm *m_next; }; static struct A_Elm *head; //搞不懂此行, 稱為aa. }; A_List::A_Elm *A_List::head; //搞不懂此行, 稱為bb. 預期的正確結果(Expected Output): A_List::head 因為重複定義, 而compile不過. 錯誤結果(Wrong Output): compile通過了.... 我知道aa 這種寫法, 會讓所有 A_List生出的物件, 共用同一個 head 指標. 但為何bb還要寫一次? 又不會跟aa衝突? 我曾經將bb註解掉, 仍是可compile過, 甚至運行結果也是對的, 想知道為何會這樣, 是否小弟有重要觀念沒弄懂. -- 從傷害中學會成長 從成長中學會遺忘 從遺忘中知道不能欺騙自己 從絕望中知道不能繼續愛你. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.47.33

02/09 21:22, , 1F
重要觀念:宣告及定義
02/09 21:22, 1F

02/09 23:21, , 2F
隨便找一本入門書,看一下 static member 怎麼用就知了
02/09 23:21, 2F
文章代碼(AID): #1DKfGbKn (C_and_CPP)