Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec sizeof

Sujet résolu
Anonyme
    22 mars 2008 à 17:26:50

    Pourquoi ce code marche

    1. int a = sizeof(int);


    et pas

    1. int a = 0;
    2. a = sizeof(int);


    J''utilise devcpp et il me met expected constructr,destuctore, or type conversion before '=' token
    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2008 à 17:33:35

      ca doit venir de devcpp (je te conseille de changer d'ailleurs) car chez moi ca marche
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 mars 2008 à 17:36:32

        Ca va paraitre bizar mais en fait ca ne marche pas dans les fichiers d'en-tete sinon dans les autres fichiers ca marche, c'est si j'utilisela commande include, il a doit y avoir un truc avec cet commande preprocesseur.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          22 mars 2008 à 17:53:09

          Pas besoin le code est assez long et complex, le truc c'est juste que si je met mon code dans un fichier entete il me met l'erreur et dans un fichier code il marche tres bien. La seul partie qui bloque c'est

          int a = 0;
          a = sizeof(int);
          • Partager sur Facebook
          • Partager sur Twitter
            22 mars 2008 à 18:00:16

            tu fais ca en dehors d'une fonction ?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              22 mars 2008 à 18:06:06

              Oui en dehors, mais si je le fait dans une focntion ca change rien, mais je dois le mettre dans une fonction comme ca je n'aurai qu'a declarer le prototype dans l'entete et je mettrai la fonction dans un fichier code et la ca a l air de marcher.
              • Partager sur Facebook
              • Partager sur Twitter
                22 mars 2008 à 18:08:59

                bon j'ai rien comrpis a ce que tu as dit mais sache que
                a = sizeof(int); // affectation
                ne peut pas etre fais en dehors d'une fonction
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  22 mars 2008 à 18:18:23

                  Il est vrai que normalement je ne devrai pas pouvoir faire ca, mais vu que sizeof(int) est constant peut etre que le compilateur le remplace par ca valeur car chez moi sa marche meme en dehors d'une fonction.
                  Ce que je disais tout a l heure :

                  1. //Fichier.hpp
                  2. int Mafonction();
                  3. //Fichier.cpp
                  4. int Mafonction()
                  5. {
                  6.   int a = 0;
                  7.   [...]
                  8.   int a = sizeof(int);
                  9. }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 mars 2008 à 18:21:35

                    1. int a = 0;
                    2.   [...]
                    3.   int a = sizeof(int);


                    tu crées deux fois 'a'

                    edit: et le fais que ca marche en dehors d'une fonction ne veux pas dire qu'il faut le faire -> mauvaise habitude et de toute facon c'est bizarre que cela marche
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      22 mars 2008 à 18:24:59

                      Je sais qu'il ne faut pas le faire en dehors des fonction et normalement on l'initialise une fois c'est parce que j'ai tapé trop vite.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 mars 2008 à 18:30:40

                        ok, bon ba je crois que le probleme est resolu
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          22 mars 2008 à 18:33:59

                          En tous cas merci.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Probleme avec sizeof

                          × 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