Specialisation partielles de fonctions membres template
Bonjour a tous et joyuses fêtes,
J'ai eu une petite perte de memoire concernant les Template, et pour me rafraichir la memoire j'ai tape ce code et je l'a compile (sous linux) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#include <iostream>
using namespace std;
class CTest
{
public:
template <class T, class U>
void function(T, U);
};
template <class T, class U>
void CTest::function(T var, U var2)
{
cout << "T & U";
}
template <class T>
void CTest::function(T var, int var2) // specialisation pour U == int
{
}
int main()
{
return 0;
} |
Ce code ne compile pas, je ne comprends pas pourtant y'a pas d'erreur, il faut des options speciales ?
Par contre si je met qu'un argument template et que je fais une specialisation totale, y'a pas de pb....
Faut-il declarer la specialisation dans la classe ?
Merci.