Template spécialisation partielle
Bonjour,
Je m'entraine sur les templates et je n'arrive pas à résoudre un probleme.
J'ai une classe template :
Code:
1 2 3 4 5 6 7 8
|
template <typename T, typename S>
class cl{
public:
cl();
~cl(){}
}; |
J'aimerais pouvoir "spécialiser" le constructeur de cette class, comme ceci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
template <typename T, typename S>//ERREUR 2
cl<T,S>::cl()
{
std::cout<< "fonct generale"<<std::endl;
}
//Specialisation
template <typename T> // ERREUR 1
cl<T,T>::cl()
{
std::cout<< "Specialisation1"<<std::endl;
} |
Mais j'obtient les erreurs suivantes :
invalid use of incomplete type ( ERREUR 1) et declaration of (ERREUR 2)
Qu'est ce qui ne va pas dans ce code ?