// Build don't link: template class a { public : int k; template int f() const { return this->f(); } int g() const { return f(); }; }; template <> template <> int a<2>::f<0>() const { return 0; } int main() { a<2> x; return x.g(); }