Partage
  • Partager sur Facebook
  • Partager sur Twitter

Déclarion de fonction

Sujet résolu
    23 mai 2007 à 18:32:17

    Bonjours à tous

    Je viens de commencer à écrire un Tetris en SDL sur le modèle du Sokoban du cours de M@teo et j'ai voulu tester mes premières instructions.
    Le problème vient de ma fonction jouer que je ne peux pas compiler

    Citation : Pas de titre



    #ifndef DEF_JEU
    #define DEF_JEU

        void jouer(SDL_Surface *ecran);

    #endif




    A ce moment mon compilateur affiche

    Citation : Pas de titre



    /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: nouveaux types ne peuvent être définis dans un type à retourner
    /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: note: (perhaps a semicolon is missing after the definition of ‘<anonymous enum>’)
    /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: two or more data types in declaration of ‘jouer’
    /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: non-local function ‘<anonymous enum> jouer(SDL_Surface*)’ uses anonymous type
    /home/thaumine/programmation/C-C++/Tetris/jeu.cpp:12: erreur: new declaration ‘void jouer(SDL_Surface*)’
    /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: ambiguates old declaration ‘<anonymous enum> jouer(SDL_Surface*)’
    :: === Build finished: 9 errors, 0 warnings ===




    Si vous avez des explications. Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      23 mai 2007 à 18:39:12

      À mon avis le problème peut venir du fait que pour ton fichier .h ne connaît pas le tye SDL_Surface, il faut que tu intègres les .h de la SDL dans ton .h .
      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2007 à 15:09:30

        je ne connais pas tout ton code mais l'erreur c'est le prototype.
        Es-tu sûr que "SDL_Surface *ecran " dans le prototype?

        eut on savoir ce que tu veux faire?
        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2007 à 21:20:57

          Bonjours et merci de vos réponses mais le problème ne semble pas venir de SDL_Surface car quand je l'enlève des paramètres de la fonction jouer, le problème reste.

          Citation : Pas de titre



          l.9  #ifndef DEF_JEU       
          l.10 #define DEF_JEU         
                                 
          l.12     void jouer();
                                 
          l.14 #endif                 



          et j'ai :

          Citation : Pas de titre



          :: === Tetris, Debug ===
          /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: nouveaux types ne peuvent être définis dans un type à retourner
          /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: note: (perhaps a semicolon is missing after the definition of ‘<anonymous enum>’)
          /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: two or more data types in declaration of ‘jouer’
          /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: non-local function ‘<anonymous enum> jouer()’ uses anonymous type
          /home/thaumine/programmation/C-C++/Tetris/jeu.cpp:13: erreur: new declaration ‘void jouer()’
          /home/thaumine/programmation/C-C++/Tetris/jeu.h:12: erreur: ambiguates old declaration ‘<anonymous enum> jouer()’

          :: === Build finished: 13 errors, 0 warnings ===




          Le code que je montre est le prototype.
          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2007 à 21:27:00

            Tu peut nous poster les lignes 12 et 13 de jeu.h s'il te plait ?
            • Partager sur Facebook
            • Partager sur Twitter
              25 mai 2007 à 16:27:07

              Je viens de résoudre ce problème (parmi tant d'autres ...). Le problème venait en fait de mon fichier constantes.h ou j'avais oublié les points-virgules après les enum de mes listes.
              • Partager sur Facebook
              • Partager sur Twitter
                25 mai 2007 à 17:04:13

                Comme quoi des fois...une erreur toute bête peut nous gacher une journé ^^
                • Partager sur Facebook
                • Partager sur Twitter

                Déclarion de fonction

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown