Also, if my compiler allows me to shuffle the initialization order of data members.For me, that is a strong guarantee that it will catch the following case and process it without error:Given the struct: base and derived above,struct mostDerived: public derived{int a;double d;mostDerived (): d(3.14), derived(), a(123){}};So logically, the compiler should help me here and make sure that this constructor produce correct code, right?
Otherwise i need always to compile my constructor myself before my compiler does it. Which is not programming for me.So my proposal, or suggestion, is relaxing this ordering rule on data member initialization.But if this flexibility is not desired, and ppl are content with what they have, then it's ok.