Bonjour à tous,

Quelqu'un saurait-il comment réaliser (si c'est possible) une spécialisation partielle de fonction template de classe template du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
template <class T2, template<class T> class T1> void f(const T1<T2>&)
Si je souhaite par exemple spécialiser partiellement f pour 2 containers de la std, je pensais pouvoir faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
template <class T2, template<class T> class vector> void f(const vector<T2>&)
template <class T2, template<class T> class list> void f(const list<T2>&)
mais mon compilateur (g++ (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) ne voit manifestement pas la différence entre ces deux spécialisations car à la compilation il me met un message d'erreur de type redéclaration de fonctions...

Merci beaucoup pour votre aide !