Is it possible that we make a generic template specialize to specifically handle a particular type
Yes
How compiler diagnose types error
Compiler do that with static type checking
What is the difference between overloading and templates
Overloading deals with different data types with similar operation. And template deals with different data types with identical operation
What is template policy
The central idiom in policy-based design is a class template (called the host class), taking several type parameters as input, which are instantiated with types selected by the user (called policy classes), each implementing a particular implicit interface (called a policy)