1 2 3 4 5 6 7
struct Outer { template <int I, int J=I> struct Inner {}; }; void f() { Outer::Inner<2> i; }