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
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    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 très actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    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
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    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
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 495
    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