Bonjour à tous,

Quelqu'un pourrait me dire pourquoi avec le code suivant :

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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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