作者ckvir (ckvir)
看板C_and_CPP
標題[問題] 關於static 的用法怪怪的??
時間Mon Apr 15 18:54:07 2013
開發平台(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