#include<iostream>#include<fstream>using namespace std;class A{public:int a=10;//為什么這樣編輯就會(huì)出錯(cuò),而把它改成static const int a=10這樣就可以了呢 這又是為什么噢?};
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)轭愔皇嵌x的類型, 還沒(méi)有實(shí)例化,也就是沒(méi)有定義類的對(duì)象(變量), 沒(méi)法存儲(chǔ)
你可以在初始化列表里進(jìn)行初始化 , 而構(gòu)造函數(shù)的函數(shù)體之內(nèi)賦值的話, 是在初始化后,
-------------
至于定義成static的, 這是靜態(tài)的, 所有對(duì)象共享一個(gè)副本, 程序開始執(zhí)行就初始化了, 就算沒(méi)有定義對(duì)象, 也有它的實(shí)例, 能直接使用 A::static_a = xxx;
- 1 回答
- 0 關(guān)注
- 778 瀏覽
添加回答
舉報(bào)
0/150
提交
取消