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 :

Problème de mise en place de thread


Sujet :

SDL

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 218
    Points : 296
    Points
    296
    Par défaut Problème de mise en place de thread
    Bonjour,
    J'essaye en vain d'instaurer un système de thread dans mon code mais j'ai une belle erreur à la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error:*argument*of*type*'int*(mainwindow::)(void*)'*does*not*match*'int*(*)(void*)'|

    Voici ma fonction thread :
    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
     
     
    int mainwindow::my_thread(void *data)
    {
        while(quitThread == false)
        {
            SDL_BlitSurface(feu1, NULL, screen, &positionFond);
            SDL_Delay(1000);
            SDL_BlitSurface(feu2, NULL, screen, &positionFond);
            SDL_Delay(1000);
            SDL_BlitSurface(feu3, NULL, screen, &positionFond);
        }
     
        return 0;
    }

    et la déclaration de SDL_thread dans une autre fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_Thread *thread;
    thread = SDL_CreateThread(my_thread, NULL);

    Merci

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Salut,

    de par le message de l'erreur, je pense à vue de nez que ton souci proviendrait du fait que ta fonction est en fait une méthode (ie. une fonction définie dans une classe), pas ce qu'attend SDL_CreateThread(), à savoir une fonction 'classique', définie en dehors d'une classe, comme n'importe quelle fonction en langage C.

    Les fonctions et les méthodes sont en effet deux concepts différents en C++, car (pour faire simple) la méthode englobe une sorte d'argument supplémentaire 'caché' (en tout cas par la syntaxe du C++), à savoir le pointeur 'this' de l'instance de classe qui constitue le contexte dans lequel elle est appelée.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 218
    Points : 296
    Points
    296
    Par défaut
    Enfaite c'est en mélangeant la SDL avec le C++ que les problèmes arrivent, tu as raison.
    J'ai donc tout refait en C est ça marche.

    Merci de ton aide

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

Discussions similaires

  1. [Framework] problème de mise en place d'un logger
    Par BerBiX dans le forum Spring
    Réponses: 3
    Dernier message: 29/03/2010, 15h18
  2. Problème de mise en place JavaBeans
    Par popy67 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 28/08/2009, 18h48
  3. Problème de mise en place channel bonding
    Par juanito7 dans le forum Réseau
    Réponses: 9
    Dernier message: 11/06/2007, 14h04
  4. Problème de mise en place de datasource pour Hibernate
    Par K-Kaï dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 27/07/2006, 10h41
  5. Problème de mise en place de la log4j
    Par pitit777 dans le forum Logging
    Réponses: 2
    Dernier message: 28/03/2006, 15h17

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