Spécialisation de méthode membre de classe template
Bonjour,
Je cherche à faire une spécialisation partielle d'une méthode membre d'une classe template. Exemple :
A.h :
Code:
1 2 3 4 5 6
|
template <typename T, typename U>
class A
{
void function ();
}; |
A.cpp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// Fonction generique :
template <typename T, typename U>
void A<T, U>::function ()
{
...
}
// Specialisation partielle de U en int
template <typename T>
void A<T, int>::function ()
{
...
} |
Ca ne marche pas.
Je cherche donc a contourner le probleme :
A.cpp
Code:
1 2 3 4 5 6 7 8 9 10
|
template <typename T, typename U>
void A<T, U>::function ()
{
#if U==int
// le code pour la spécialisation de U en int
#else
// le code générique
#endif
} |
Qu'en pensez vous ?
Peut on utiliser des variables template dans des directives de precompilation sans risque ?
Merci pour votre attention.