Bonjour,

Voici mon code source:
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
24
25
26
27
28
29
30
31
32
33
34
35
#include <vector>
#include <iostream>
#include <typeinfo>
using namespace std;
 
class A{};
class B{};
template <class T> class Test
{
	public:
		Test()
		{
			cout<<"constructeur de: "<<typeid(T).name()<<", this: "<<this<<endl;
		}
 
		void salut()
		{
			cout<<"methode salut de: "<<typeid(T).name()<<", this: "<<this<<endl;
		}
};
 
int main()
{
	std::vector<void *> vector;
	vector.push_back(new Test<A>);
	vector.push_back(new Test<B>);
 
	for(int i=0; i<vector.size(); i++)
	{
		void *var = vector[i];
		((Test<void *>*)var)->salut(); //comment appeler correctement salut() ?
	}
 
	return 0;
}
Voici le résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
constructeur de: 1A, this: 0x9788008
constructeur de: 1B, this: 0x9788028
methode salut de: Pv, this: 0x9788008
methode salut de: Pv, this: 0x9788028
Comment faire pour appeler la methode 'salut()' avec le bon template pour obtenir ce résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
constructeur de: 1A, this: 0x9788008
constructeur de: 1B, this: 0x9788028
methode salut de: 1A, this: 0x9788008
methode salut de: 1B, this: 0x9788028
Merci d'avace...