// Build don't link: // GROUPS passed templates default-arguments template class Class { public: void func1(int n=1); void func2(int d) {} }; template void Class::func1(int n) {} //if this is replaced by: //void Class::func1(int n=1) {} //the code compiles. int main() { Class C; return 0; }