/*Orion Lawlor's Simple C++ Examples, olawlor@acm.org http://charm.cs.uiuc.edu/users/olawlor/ref/examples/cpp/template_fn_evil.cpp Shows how to use templated functions with specialization for an evil factorial. */ #include #include template double fact(void) { return n*fact(); } template <> double fact<0>(void) { return 1; } int main() { std::cout<<"3 factorial is "<()<()<()< <@> ******** Program output: ******** <@> 3 factorial is 6 <@> 8 factorial is 40320 <@> 14 factorial is 8.71783e+10 <@> */