Bonsoir,
J'ai défini des classes qui possèdent toute une méthode afficher(param p).
Etant donné que j'utilise des std::vector, j'ai eu l'idée de créer une fonction template pour appeller la fonction afficher(param p) quelque soit la classe :
Et l'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 struct Afficher { /*Afficher(const BITMAP*& zoneJeu) zoneJeu(zoneJeu) {}*/ template <class T> void operator ()(T*& p, BITMAP* zoneJeu) const { p->afficher(zoneJeu); } /* private: BITMAP* zoneJeu;*/ };
Message d'eereur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part for_each(tabVector.begin(), tabVector.end(), Afficher(zoneJeu));
Ca ne fonctionne pas, j'ai testé des variantes en commentaire.no matching function for call to `Afficher::Afficher(BITMAP*&)'|
Le but est de remplacer des fonctions du genre :
Voilà merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for (unsigned int i=0; i<tab1.size(); i++) { tab1[i]->afficher(zoneJeu); } for (unsigned int i=0; i<tab2.size(); i++) { tab2[i]->afficher(zoneJeu); }et bonne soirée
Partager