1 // Copyright (C) 2001 Free Software Foundation 2 // Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> 3 4 template <class U> struct A 5 { 6 template <class V> struct AA { 7 template <class T> struct B { 8 int i; BA::AA::B9 B() : i(1) {} 10 }; 11 }; 12 }; 13 14 template <template <class> class TT> struct X 15 { 16 TT<int> y; 17 }; 18 19 template <class T, class U> struct C 20 { 21 X<T::template AA<U>::template B> x; 22 }; 23 main()24int main() 25 { 26 C<A<char>, int> c; 27 } 28