ちょいと相談。
template<class T>class Settings {
//
};
struct Arecord {
//
};
class Asettings : Settings<Arecord> {
//
};
こんなクラス構造があると思いねぇ。勿論、Aの他にもBやCもある。

んでもって、一々Arecordとするのも業腹だから
class Asettingsの中でstruct Record としてしまいたいってわけだ。
するってぇと、定義の順番の都合で巧くコンパイルできねぇ。
どうしたもんかね、こりゃ。