Bonjour,
Je m'entraine sur les templates et je n'arrive pas à résoudre un probleme.
J'ai une classe template :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?