Bonjour,

j'ai essayé de compiler le code suivant, mais j'obtiens un joli : "No matching function for call test()", le template pose problème évidemment puisque lorsque je l'enlève, cela fonctionne correctement:

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
 
template <class T> 
void test()
{
 
	A classA(5);
	B classB("Bonjour");
	C classC(6.4);
 
	int (A::*ptrA)() = &A::r;
	std::string (B::*ptrB)() = &B::s;
	float (C::*ptrC)() = &C::z;
 
	std::vector<T (A::*)()> _vectorPtrFct;
	_vectorPtrFct.push_back(ptrA);
	_vectorPtrFct.push_back(ptrB);
	_vectorPtrFct.push_back(ptrC);
 
 
}
 
int main (int argc, char * const argv[]) {
 
	test();
 
    return 0;
}
J'ai beau cherché je ne trouve pas l'erreur, peut-être est-ce simplement une erreur toute bête(j'en suis même convaincu) mais je ne comprends pas ce qui ne passe pas.

Merci d'avance.