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

C++ Discussion :

pointeur de fonction, pointeur de méthode


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Points : 52
    Points
    52
    Par défaut pointeur de fonction, pointeur de méthode
    Bonjour à tous


    Dans le cadre d'un projet pour fac, j'utilise ODE et drawstuff dans un projet en C++.

    Pour ceux qui ne connaissent pas ODE est un moteur physique www.ode.org, et drawstuff est une bibliothèque qu'ils ont utilisé dans leurs exemples.

    Pour faire fonctionner drawstuff j'ai besoin d'un pointeur de fonction de type void (*)(int), mais je n'ai qu'une méthode non static de classe.

    Comment je pourrais faire pour passer cette méthode ? avec un simple cast ?


    J'avais eu un problème similaire pour un thread et je l'avais résolu 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
     
     
    void GeneticAlgorithm::genetic()
    {
    ///bla bla
    }
     
    void launch(void* data)
    {
    GeneticAlgorithm* algo = (GeneticAlgorithm*)data;
    algo->genetic();
    }
    void GeneticAlgorithm::start()
    {
    pthread_create(&thread,...,launch,this);
    }
    mais là je ne peux pas faire pareil.

    Avez vous une idée?


    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    As tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    &(GeneticAlgorithm::genetic)
    ??

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Ce n'est pas possible, la seule solution est de passer par un paramètre comme tu fais avec le thread (attention au transtypage cependant). Tu peux trouver un peu d'information à ce sujet dans cet article de la FAQ.

    MAT.

  4. #4
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Points : 52
    Points
    52
    Par défaut
    C'est bien ce que je redoutais.

    Merci quand même @ bientôt

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

Discussions similaires

  1. Pointeur de fonction sur des méthodes de QTime
    Par Gébix dans le forum Débuter
    Réponses: 1
    Dernier message: 22/07/2012, 11h40
  2. Réponses: 1
    Dernier message: 09/04/2010, 11h15
  3. [Win32] Pointeur sur fonctions et méthodes de classe
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 13/09/2007, 19h07
  4. Réponses: 11
    Dernier message: 11/04/2007, 18h33
  5. Pointeur de fonctions sur méthode
    Par Glosialabolas dans le forum C++
    Réponses: 9
    Dernier message: 04/12/2005, 14h55

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