C++ template specialization of function: "illegal use of explicit template arguments"

Viewed 38069

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?

1 Answers
Related