Suppose I have a template that works with raw pointers:
template
void processPointer(T* ptr);
I don\'t want this to be called
I don't see any reason to go templating here
In fact, by deleting the non-template overload you may wiggle your way out of some edge-case ambiguous calls that I can't think of right now, since non-templates take precedence over template instantiations. And thus make this work as desired in a majority of cases.