will be initialized after

gccで書いてたらこんな警告がコンストラクタに。
最初これ何だろうと疑問に思ったけど、
どうやらメンバ変数の宣言の順番と、
コンストラクタの初期化リストの順番は一緒にしなくちゃ駄目ということだ。


へーとか思ってたら普通にEffectiveC++(第3版)の第4項に書いてあった。
オブジェクトのデータの初期化する順番は、
初期化リストの記述順ではなく、データメンバが宣言された順番になるそうだ。
で、だからどういう問題が?