Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/09/2008, à 00:40

tiky

Stl, for_each et fonction membre

Bonjour,

Je voudrais utiliser une fonction membre dans un for_each de la stl sans utiliser la bibliothèque boost.

void DiagramPage::add_object( DiagramObject * p_DiagramObject )

C'est la fonction que je veux appeler dans le for_each
Le for_each:

std::for_each( cloneObjects.begin(), cloneObjects.end(),                                                                                                                                                       
                 std::mem_fun( &DiagramPage::add_object ) );

Évidemment ce code ne fonctionne pas puisque je ne spécifie pas l'objet DiagramPage à utiliser. Je ne sais pas comment faire.

cloneObjects est une liste stl de pointeur sur des objets clonés de type DiagramObject.

Merci de votre aide.

Dernière modification par tiky (Le 14/09/2008, à 00:41)


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#2 Le 14/09/2008, à 17:06

nicolas66

Re : Stl, for_each et fonction membre

Pourquoi n'utilises-tu pas plutôt une simple boucle `for' ou `while' ?

EDIT : je pense avoir trouvé une solution à ton problème :

DiagramObject * Object;
std::for_each(cloneObjects.begin(), cloneObjects.end(), std::bind2nd(std::mem_fun(&DiagramPage::add_object), Object));

Par contre, lorsque le nombre de paramètres est plus élevé, faudrait s'orienter vers boost.

Dernière modification par nicolas66 (Le 14/09/2008, à 18:03)


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne