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

SDL Discussion :

Thread avec C++


Sujet :

SDL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Thread avec C++
    Je voudrais créer un thread à partir d'une methode de ma classe "Objet" mais j'ai un message d'erreur :

    argument of type `int (objet:: )(void*)' does not match `int (*)(void*)'

    Est-ce que ça veut dire que je ne peut pas utiliser de methode pour un thread ?

    Merci
    [modéré par netah_25]
    [Ligne vide superflu supprimés]

  2. #2
    Membre averti
    Avatar de rolkA
    Inscrit en
    Juillet 2003
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 324
    Points : 369
    Points
    369
    Par défaut
    Salut.
    Tu peux dire comment tu utilise les threads ? Et poster la ligne qui coince...
    Apparemment la fonction que tu appelles à la ligne qui pose problème attend un pointeur de fonction globale/statique alors que tu lui envoie un pointeur de fonction membre. Il faut que tu rende ta fonction statique, ou que tu utilise une fonction globale...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    J'utilise la librairie SDL pour la gestion des thread et je fait cet appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void objet::NewThread() {
        thread=SDL_CreateThread(this->thread_func,NULL);
    }


    avec ma classe "objet" qui est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    struct objet {
     
        SDL_Rect * rect;
        SDL_Thread * thread;
        Liste_coord * LC;
        int num,arret;
        Uint32 color;
     
        SDL_Rect * Deplace_rect(SDL_Surface *screen, Uint32 bg);
        int thread_func(void *data);
        void NewThread();
     
     
    };
    ma méthode thread_func() fait appel aux champs de ma classe objet, ce qui m'empêche de la déclarer comme statique.

    Y a t il une solution ?

  4. #4
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

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

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

Discussions similaires

  1. [VS 2003][dessin] synchronizer un thread avec une forme
    Par Harry_polin dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/10/2005, 10h31
  2. [VB.net] Thread avec paramètres
    Par WriteLN dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/04/2005, 17h42
  3. thread avec wxworks
    Par moltes91 dans le forum wxWidgets
    Réponses: 12
    Dernier message: 08/04/2005, 14h56
  4. Thread avec une fonction membre d'une classe
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 01/03/2004, 01h15
  5. [VB6][active x] faire du multi-thread avec vb
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/05/2003, 12h01

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