This is a followup to C++ templates: prevent instantiation of base template
I use templates to achieve function overloading without the mess of implicit type conversions
I don't believe it's possible to do what you want. See these FAQs for more info:
How can I avoid linker errors with my template functions?
How can I avoid linker errors with my template classes?