Problème avec argument par défaut de templates
Bonjour à tous,
Quelqu'un pourrait me dire pourquoi avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#include <iostream>
using namespace std;
class A {
public:
static void hello() {
cout << "hello" << endl;
}
};
template <class TEMPLATE=A> class B {
public:
static void run() {
TEMPLATE::hello();
}
};
int main() {
B::run();
return 0;
} |
g++ retourne l'erreur suivante :
Code:
1 2 3
|
test.cc: In function int main():
test.cc:20:2: erreur: template<class TEMPLATE> class B used without template parameters |
alors qu'un paramètre par défaut est bel et bien défini pour le template class B ?
Merci d'avance pour la réponse :).
Benjamin