1 2 3 4 5 6 7 8 9 10
template <int J> struct A { }; struct B { template <int I> struct C : public A<I> {}; typedef double I; };