Re: [問題] class 內的static 變數
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: ※ 引述《justinC (無)》之銘言:
: : 有辦法透過member function 來存取private static var嗎
: : 我編譯都會說無法解析 該變數...所以來問問看
: 你要在某一個編譯單元內宣告他的實體
: 像這樣
: ___ A.h ___
: Class A {
: ...
: static int i;
: void f();
: };
: ___ A.cpp ___
: A::f()
: {
: ...
: }
: int A::i = 0; // 或是用其他的初始值也可以
=====
推
04/22 09:47,
04/22 09:47
推
04/22 15:30,
04/22 15:30
如果是說在 A.cpp 裡面那行 int A::i = 0; 的 "= 0;" 可以省略,那沒錯
但是那行主要功用是要定義 int A::i
這個步驟可是不能少的
只有 include 進 A.h 但是沒有實際定義那個 static variable
之後就會造成 linking error
而若要被多個 .cpp 檔案使用,又直接可以寫在 header 裡面的 static variable
則只有 static const variable 可以直接在 class 裡面定義了
(可惜 VC6 不行,VC6 的解法跟 non-const static variable 一樣)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.137.117
推
04/22 19:36, , 1F
04/22 19:36, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章