Bonjour a tous,
je me pose actiellement des problemes de spécialisation template dans le cas ou le type spécifier a un parametre template. Un petit bout de code valant mieux qu´un long discours:
template <class T>
class toto { T a;}; //ok: toto<T> est défini
template <typename COIN>
void fnct() //ok: definition generique de fnct
{
std::cout<<"wouf"<<std::endl;
}
template<>
void fnct<int>() //ok: specialisation generique de fnct pour les entiers
{
std::cout<<"zog"<<std::endl;
}
template<>
void fnct<toto<int> >() //ok: specialisation generique de fnct pour les toto<int>
{
std::cout<<"paf"<<std::endl;
}
template < >
void fnct < toto<T> > () //erreur: "function template partial specialization ‘fnct<toto<T> >’ is not allowed"
{
}
C´est en fait le dernier qui m´interesse.
Je voudrais pouvoir ecrire une specialisation de la fonction fnct pour n´importe quel toto<T>.
Est ce que quelqu´un sait faire cela ?
Merci