Template nested inner classes are not resolved: template <typename T> class A { public: class AA { }; };
template <typename T> class B : public A<T> { public: class BB : public AA { }; //class BB : public A<T>::AA { }; // Workaround. }; int main(int argc, char* argv[]) { B<int> b; return 0; } Brings the following error: error: expected class-name before '{' token -- Summary: Template nested inner classes are not resolved. Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: 4ekucT at tut dot by http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36981