Surcharge de méthodes template => no matching function
Bonjour,
Voila j'ai un petit problème, enfin plutôt qqchose que je ne comprends pas ..
Exemple simple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
template<typename T>
class TClass
{
public:
T mean() { return (T)666; }
};
class Test : public TClass<float>
{
public:
float mean(uint i) { return 555.0; }
};
int
main()
{
Test t;
std::cout << t.mean() << std::endl;
return EXIT_SUCCESS;
} |
Voila le problème : quand on surcharge une méthode d'un classe template, on ne peux plus avoir accès a la méthode de base... Si on commente la surcharge de méthode dans la classe Test cela marche...
POURQUOI ? je ne comprends pas ...
Quelle est la solution, a part ajouter
Code:
1 2
|
float mean() { return TClass<float>::mean(); } |
dans la classe Test ???
Cordialement