e4368.cpp

コンストラクタで初期化しないと意味が無いメンバ

/* 警告:   B:e4368: class "B" には次 のメンバを初期化するコンストラクタがありません:   const メンバ "B::j_"   参照 メンバ "B::a"   参照 メンバ "B::b" */

class B { int i_; const int j_ : 4; /* NG */ A& a; /* NG */ const A& b; /* NG */ };
解説 constのメンバは後から変更できない事を示しているため、 コンストラクタで初期化されていなければ意味が無いし、 参照型は正しい実体を指していなければならないため、 コンストラクタで初期化する必要があります。