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 confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    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 confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

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

  3. #3
    Membre Expert

    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
    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 confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    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