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

Boost C++ Discussion :

boost::bind et membre de classe


Sujet :

Boost C++

  1. #1
    Membre averti Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Points : 412
    Points
    412
    Par défaut boost::bind et membre de classe
    Je suis sous boost 1.40. Je compile l'exemple de la doc.

    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
    #include <iostream>
    #include <boost/shared_ptr.hpp>
    #include <boost/bind.hpp>
     
    using namespace std;
    using namespace boost;
     
    struct X
    {
        bool f(int a);
    };
     
    int main()
    {
        X x;
     
        shared_ptr<X> p(new X);
     
        int i = 5;
     
        bind(&X::f, ref(x), _1)(i);		// x.f(i)
        bind(&X::f, &x, _1)(i);			//(&x)->f(i)
        bind(&X::f, x, _1)(i);			// (internal copy of x).f(i)
        bind(&X::f, p, _1)(i);			// (internal copy of p)->f(i)
     
        return 0;
    }
    Mais ça me fait l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    undefined reference to `X::f(int)'

  2. #2
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    C'est le linker qui se plaint, il trouve pas le corps de X::f(), normal tu l'as pas définie.

  3. #3
    Membre averti Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Points : 412
    Points
    412
    Par défaut
    En effet
    Quelle erreur de débutant !!!

    Merci

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/09/2010, 11h02
  2. Réponses: 3
    Dernier message: 25/02/2006, 17h30
  3. Réponses: 3
    Dernier message: 12/01/2006, 21h26
  4. [POO] vider un array membre de classe
    Par jlf dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 10h54
  5. Problèmes de fonctions membres de classe templates, gcc3.3.6
    Par yves.dessertine dans le forum Autres éditeurs
    Réponses: 12
    Dernier message: 17/10/2005, 21h36

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