Problème avec for_each - C++ - Programmation
Marsh Posté le 13-12-2003 à 00:09:58
Soit tu passe tot en methode de classe, soit tu utilise mem_fun :
for_each(v.begin(),v.end(),mem_fun(A::toto)); si je ne m'abuse.
Marsh Posté le 13-12-2003 à 00:20:19
non, ça va pas marcher là. précices ce que tu veux faire là.
Marsh Posté le 13-12-2003 à 00:30:59
bah t'as eu des réponses sur fclc++ et même une démo de boost.
Marsh Posté le 13-12-2003 à 00:44:26
Yep, merci de vos réponses quand même...
Pour ceux que ça pourrait intéresser:
Code :
|
Je n'ai pas cherché, mais à quoi sert le _1 en troisième argument de boost::bind()?
Marsh Posté le 13-12-2003 à 00:47:29
y a bien d'autres méthodes tout en restant dans std
quitte à passer en boost, j'aurais fait
Code :
|
Marsh Posté le 13-12-2003 à 00:49:13
(ici on utilise le bind1st de boost, car le std::bind1st est limité et n'a pas de version correcte pout des fonctor const, STL à des limitations de ce côté dans sa version actuelle, boost/functional.hpp propose le complément, même sémantique, ceci sera phagocyté dans std bientôt)
Marsh Posté le 13-12-2003 à 00:54:35
Je sens que je vais me faire taper sur les doigts, mais j'ai pas mon bouquin à proximité:
c'est quoi exactement un fonctor?
Marsh Posté le 13-12-2003 à 01:03:37
Ah ok, je me souviens avoir lu ça...
Il faudra que j'y rejette un oeil...
Marsh Posté le 12-12-2003 à 21:32:06
Salut à tous,
alors voici mon problème:
Admettons la classe suivante:
class A
{
std::vector<Possession> v_poss;
void foo();
void toto(const Possessions & possession);
};
Je voudrais faire ça:
void A::foo()
{
for_each(v_poss.begin(),v_poss.end(),toto);
}
Mais ça ne fonctionne pas... J'ai vu qu'il existait la fonction
std::mem_fun, mais apparemment elle permet d'appeller une fonction membre
de Possession dans mon cas...
Comment je peux faire ça?
Merci d'avance!!