struct A
{
  template<int> void foo();
};

template<int N> struct B : A
{
  B() { foo<N>(); }
};

B<0> b;