------- Comment #4 from pinskia at gcc dot gnu dot org 2005-10-13 23:09 ------- Here is a simplified testcase without templates, just in case you get confused what the structs look in the source: struct adaptor_base {}; struct bound_argument { bound_argument(); }; struct adaptor_functorint : public adaptor_base {}; struct adaptsint : public adaptor_base { adaptsint(const int& _A_functor); adaptor_functorint functor_; }; struct adaptor_functor_adaptsint { adaptor_functor_adaptsint(const adaptsint& _A_functor) : functor_(_A_functor) {} adaptsint functor_; bound_argument bound_; }; struct adapts_adaptsint { adapts_adaptsint(const adaptsint& _A_functor) : functor_(_A_functor) {} adaptor_functor_adaptsint functor_; }; int main() { adapts_adaptsint a (adaptsint(1)); }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24351