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 :

Problème de pointeur de fonction!


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 40
    Points : 21
    Points
    21
    Par défaut Problème de pointeur de fonction!
    Bonjour,

    En fait j'ai un programme en C++ qui fonctionne de la manière suivante si tous ce passe dans le même fichier .cpp.

    (J'utilise le moteur dynamique ode mais je ne pense pas que le problème soit lié à ode.)

    J'ai donc une fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void nearcallback(void *date, dGeomID o1, dGeomID o2)
    {
    .........
    }
     
    int main()
    {
    .......
    dSpacecollide(space, 0, nearcallback);
    .......
    }
    Tous cela fonctionne correctement si ils sont dans le même fichier .cpp. Le nearcallback de la fonction dspacecollide étant un pointeur qui rappel la fonction nearcallback.

    Mon but est donc de mettre ces deux choses dans une class:

    world.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    class World
    {
    private:
     void loop();
     void nearcallback(void *date, dGeomID o1, dGeomID o2);
     
    };
    World.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void World::loop()
    {
     ....
    dspacecollide(space, 0, "je voudrais appeler la fonction nearcallback");
     ....
    }
     
    void World::nearcallback(void *date, dGeomID o1, dGeomID o2)
    {
    ....
    }
    Je voudrais donc pouvoir appeler dans ma fonction loop la fonction membre nearcallback

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

  3. #3
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Au passage, Boost.Function permet de considérer les fonctions comme des objets "quelconques".

    Essaye de te renseigner sur le sujet.

Discussions similaires

  1. problème thread : pointeurs de fonctions
    Par tech_77 dans le forum POSIX
    Réponses: 2
    Dernier message: 02/12/2010, 12h59
  2. Réponses: 4
    Dernier message: 05/04/2010, 18h46
  3. Probléme de pointeur sur fonction
    Par TSalm dans le forum C++/CLI
    Réponses: 11
    Dernier message: 25/07/2007, 22h53
  4. Problème pointeur de fonction
    Par ired dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/06/2007, 13h24
  5. pointeur de fonction problème.
    Par damien77 dans le forum Windows
    Réponses: 1
    Dernier message: 25/03/2007, 15h49

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