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::function et boost::bind


Sujet :

Boost C++

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut boost::function et boost::bind
    Bonjour,

    je souhaiterais passer une fonction à boost::thread qui prend elle même un pointeur sur fonction membre...je ne suis pas sûr de la syntaxe :

    prototype de la fonctino membre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    f(std::string, double, double);
     
    DataBaseRequest::retrieveMontantNegoTitre(boost::function<void (void*, std::string, double, double> & callFunc)
    my try
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DataBaseRequest::DataBaseRequest()
     {
       thread_ = boost::thread(  
                boost::function<void (...?....)>(
                    boost::bind( &DataBaseRequest::retrieveMontantNegoTitre, this ) ,
                NULL,"",3.,2.)
            )
    }
    ça ne compile pas , need help merci

  2. #2
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par défaut
    Bonjour,
    Je ne comprends pas bien ce que tu cherches à faire.
    Quelque chose comme ça ?

    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
    28
    29
    30
    31
    32
     
    #include <iostream>
    #include <string>
     
    #include <boost/function.hpp>
    #include <boost/thread.hpp>
     
    struct S
    {
       void f(std::string s, double d1, double d2)
       {
       }
    };
     
    typedef boost::function<void(std::string, double, double)> Fsdd;
     
    struct DataBaseRequest
    {
       void retrieveMontantNegoTitre(Fsdd callFunc)
       {
       }
    };
     
    int main()
    {
       S s;
       DataBaseRequest dbr;
     
       boost::thread t(&DataBaseRequest::retrieveMontantNegoTitre, 
          dbr, Fsdd(boost::bind(&S::f, s, "titi", 1.0, 2.0)));
       t.join();
    }

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    Oui exactement

Discussions similaires

  1. Réponses: 19
    Dernier message: 16/09/2008, 11h44
  2. Pattern Command et boost::function
    Par poukill dans le forum C++
    Réponses: 3
    Dernier message: 24/04/2008, 16h54
  3. Crash avec boost::function
    Par Bakura dans le forum Boost
    Réponses: 15
    Dernier message: 22/12/2007, 16h26
  4. [Boost.Function] Appeler une fonction "externe"
    Par poukill dans le forum Boost
    Réponses: 17
    Dernier message: 29/08/2007, 16h04
  5. [boost] Problème avec boost::function
    Par Bakura dans le forum Boost
    Réponses: 3
    Dernier message: 22/03/2007, 20h08

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