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

 C Discussion :

Erreur de compilation incompréhensible


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Erreur de compilation incompréhensible
    Bonjour à tous et à toutes !

    Me voici confronté à une énigme, sans doute évidente aux yeux des C-programmeurs confirmés, mais assez obscure pour moi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main()
    {
    int Choix = 0;
    double Nombre1 = 0, Nombre2 = 0;
    }
    Ce code est compilé et exécuté sans aucun problème. Puis je rajoute une ligne de façon à obtenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int main()
    {
    int Choix = 0;
    Choix = 3; // La ligne ajoutée
    double Nombre1 = 0, Nombre2 = 0;
    }
    Il devient alors impossible de compiler. Le message d'erreur est :

    absence de ';' avant 'type'

    Pour information, je travaille avec Visual C++.
    Pouvez-vous m'aider s'il-vous-plaît ?

    Tito

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    Points : 163
    Points
    163
    Par défaut
    Tu ne peux pas mélanger déclaration et affectation. Tu fais toutes tes déclarations et ensuite tu peux modifier les valeurs de tes variables. Sinon tu peux faire:

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Question résolue
    Merci bien pour ta réponse ! Je corrige ça tout de suite.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par Tito_28 Voir le message
    Merci bien pour ta réponse ! Je corrige ça tout de suite.
    Pour compléter ce que dis Dré Kam, le langage C89 (mais pas le C++, ni C99) t'oblige à déclarer tes variables locales toujours tout en haut d'un bloc « { } ». Ceci est dû au fait que ces variables sont stockées sur la pile et que ton compilateur a besoin de connaître l'espace total à allouer pour calculer les offsets de chaque variable, offsets utilisés dans le code ensuite.

    Donc, à partir du moment où tu as écrit ta première instruction, tu n'as plus le droit de déclarer de variable supplémentaire.

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

Discussions similaires

  1. Erreur de compilation incompréhensible
    Par lg_53 dans le forum C++
    Réponses: 8
    Dernier message: 02/09/2014, 14h02
  2. Incompréhension d'une erreur à la compilation.
    Par BaygonV dans le forum Débuter
    Réponses: 2
    Dernier message: 20/03/2014, 21h23
  3. Erreur de compilation incompréhensible
    Par javass dans le forum Langage
    Réponses: 2
    Dernier message: 02/06/2008, 09h54
  4. [2.0] Erreur de compilation incompréhensible
    Par strat0 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/03/2007, 22h45
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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