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:
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.
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; }
Merci d'avance.
Partager