IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

Encore un problème de bind..


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut Encore un problème de bind..
    Bonsoir à tous !

    Je rencontre de nouveau un problème en utilisant les algorithmes de la STL, je ne sais jamais comment bien les utiliser, surtout que la j'utilise pas mal de pointeurs...

    En gros j'ai une classe A et une classe B, et je dispose de pointeurs vers des objets A et des pointeurs vers des objets B (je ne peux pas utiliser de vector ici...). Je souhaiterais que chaque objet de B appelle une fonction prenant en paramètre un objet A. Pour l'instant, je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::transform (pointeursVersA, pointeursVersA + nb, pointeursVersB, std::mem_fun_ref (&&B::MaFonction));
    Evidemment ceci ne fonctionne pas... En gros, je souhaite faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (int i = 0 ; i != nb ; ++i)
    {
       pointeursVersB[i].MaFonction (pointeursVersA[i]);
    }
    Merci de vos réponses !

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Il te manque l'itérateur sur résultat (à condition que t'en ais un), et puisque c'est une méthode sur B, le premier itérateur doit être sur B:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       std::transform ( 
          pTableauDeB, pTableauDeB+nb,
          pTableauDeA, 
          pTableauDeResultat,
          std::mem_fun_ref(&B::MaFonction) 
       );

  3. #3
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Ok c'est bien ça, j'utilisais la mauvaise version de la fonction transform. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 31/12/2007, 23h26
  2. [Dates] Encore un problème de date
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2006, 21h30
  3. Encore des problèmes de variables
    Par mat99 dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2005, 10h26
  4. Réponses: 8
    Dernier message: 10/08/2004, 11h49
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo