Bonjour,
Je cherche à faire une spécialisation partielle d'une méthode membre d'une classe template. Exemple :
A.h :
A.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template <typename T, typename U> class A { void function (); };
Ca ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 () { ... }
Je cherche donc a contourner le probleme :
A.cpp
Qu'en pensez vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Peut on utiliser des variables template dans des directives de precompilation sans risque ?
Merci pour votre attention.
Partager