1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
template <int S=0, class T=int> struct X {}; template <> struct X<0,int> {}; template <int S> struct X<S,int> : X<> {}; int main() { X<1,int> x; }