Bonjour à tous,
J'ai une classe de ce style :
J'aimerai ne spécialiser que la méthode B pour T = std::string. Si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 template<class T> class CMyClass { public: void MethodA(); void MethodB(); void MethodC(); };
J'obtiendrais 2 erreurs de link (une MethodA, l'autre pour MethodC).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template<> void CMyClass<std::string>::MethodB() { }
Je peux passer par une seconde classe se chargeant du traitement de la MethodB (donc ne possédant qu'une fonction qu'appellerai MethodB de ma clase principale et la spécialiser), mais y aurai-t-il une autre solution ?
Merci beaucoup,
A bientôt
Partager