Spécialisation de classe Template
Bonjour à tous,
J'ai une classe de ce style :
Code:
1 2 3 4 5 6 7 8 9
|
template<class T>
class CMyClass
{
public:
void MethodA();
void MethodB();
void MethodC();
}; |
J'aimerai ne spécialiser que la méthode B pour T = std::string. Si je fais:
Code:
1 2 3 4 5 6
|
template<>
void CMyClass<std::string>::MethodB()
{
} |
J'obtiendrais 2 erreurs de link (une MethodA, l'autre pour MethodC).
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