The following template specialization code:
template<typename T1, typename T2>
void spec1()
{
}
Test case 1:
template< typename T1> //compile error
void spec1<int>()
{
}
Test case 2:
template< typename T2> //compile error
void spec1<int>()
{
}
generates the following compilation error:
error C2768: 'spec1' : illegal use of explicit template arguments
Does anyone know why?