Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème sur le type retourné par une class

je ne comprend pas d'où vient l'erreur

Sujet résolu
    10 juin 2007 à 12:43:57

    Bonjour

    Pour raccourcir mon code, je fais plein de petites classes. En ce moment je suis en train d'en faire une sur la fenetre. Mais j'ai un problème que je ne comprend pas. Voic ce que dit g++ :
    Fenetre.class.cpp:9: erreur: nouveaux types ne peuvent être définis dans un type à retourner
    Fenetre.class.cpp:9: note: (perhaps a semicolon is missing after the definition of ‘Fenetre’;)
    Fenetre.class.cpp:9: erreur: spécification de type retourné pour un constructeur est invalide
    main.cpp:8: erreur: nouveaux types ne peuvent être définis dans un type à retourner
    main.cpp:8: note: (perhaps a semicolon is missing after the definition of ‘Fenetre’;)
    main.cpp:8: erreur: two or more data types in declaration of ‘main’
    main.cpp:8: erreur: ‘::main’ must return ‘int’
    make: *** [executable] Erreur 1


    et vois la ligne 9 de Fenetre.class.cpp et la ligne 8 de main.cpp :
    int main(int argc, char *argv[]) {

    Fenetre::Fenetre(int largeurFenetre, int hauteurFenetre, int bitFenetre, Uint32 modeFenetre, Uint32 modeSDL, std::string titreFenetre, std::string cheminIcone) {


    Je comprend juste le main.cpp:8: erreur: `::main` must return `int` mais a la fin de main je renvoie EXIT_SUCCESS et meme si je met 0(à la place de EXI_SUCCESS), il y a toujours l'erreur.

    Pourriez vous m'aider s'il vous plait??

    Merci d'avance pour les réponses.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      10 juin 2007 à 12:58:04

      A tout hasard, peut-on voir la déclaration de ta classe (genre un ; qui manque) ?
      • Partager sur Facebook
      • Partager sur Twitter
        10 juin 2007 à 12:58:35

        As-tu vérifié ce qu'il te dit ?

        main.cpp:8: note: (perhaps a semicolon is missing after the definition of ‘Fenetre’;) 

        As-tu mis un point-virgule ";" à la fin de la définition de ta classe ?

        Juste :

        class MaClasse {
            private:
                int maVar;
            public :
                MaClasse();
        };


        FAUX :

        class MaClasse {
            private:
                int maVar;
            public :
                MaClasse();
        }
        • Partager sur Facebook
        • Partager sur Twitter
          10 juin 2007 à 13:34:47

          Je ne comprenais pas la ligne la (je suis pas bon en anglais).

          Et en effet, l'erreur venait de là.
          Merci beaucoup.
          • Partager sur Facebook
          • Partager sur Twitter
            10 juin 2007 à 13:35:08

            Bon behhh, plus de problème: tant mieux :)
            • Partager sur Facebook
            • Partager sur Twitter

            Problème sur le type retourné par une class

            × 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