看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我目前在看別人的程式碼 看到修飾詞的地方,其中有個地方不太懂 有兩個檔案,我只打出重要部分 Test.h Test.cpp Test.h內容為: class Test{ protected: Test(); private: static Test *mT; } Test.cpp內容為: Test *Test::mT = NULL; Test::Test() { } 目前這樣是對的 但是我把Test *Test::mT = NULL; 移到建構子Test::Test()中就會出錯 但是我去查static代表可以直接用Class::直接存取變數阿 為什麼放在建構子外OK 移進去就會出錯??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.12.44
LPH66:關鍵字: "static 成員變數" 04/15 18:56
LPH66:加一個 "初始化" 04/15 18:56
firose:外面那個是定義, 定義必須存在 04/15 19:35
CumCumCum:一個compile time一個run time吧 04/15 19:49