1 template <class T0> 2 class A { 3 public: 4 class B; 5 }; 6 7 template <class T0> 8 class A<T0>::B { 9 public: 10 class C; 11 }; 12 13 template <class T0> 14 class A<T0>::B::C { 15 public: 16 A<T0> &a; 17 }; 18