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 :

Const et difference entre C++ et C


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 86
    Par défaut Const et difference entre C++ et C
    Bonjour,

    Voila le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    const int n = 100;
    const int m = n + 2;
     
    int main() {
    }
    Normalement ce code ne doit pas compiler avec le compilateur C. Parceque en C les const ne sont pas calculer "at compile time" contrairement a C++, d'ou le code ci dessus est faux en C.
    Malgré ca, quand je compile ce petit code avec :
    Bin ca compile et pas d'erreurs. Quelqu'un pourra m'expliquer pourquoi ? ou si j'ai vraiment mal compris la difference de const entre c et c++ ?

    Merci en avance

  2. #2
    Membre éprouvé Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Par défaut
    Citation Envoyé par kass28 Voir le message
    Malgré ca, quand je compile ce petit code avec :
    Bin ca compile et pas d'erreurs. Quelqu'un pourra m'expliquer pourquoi ?
    Il est possible que ton compilateur adapte certaines options en fonction de l'extension du fichier qui lui est donné.
    Ça donne quoi si tu le renommes en toto.c ?

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    J'ai bien une erreur si je compile en C
    mingw32-gcc.exe -c main.c -o main.o
    Erreur :
    error: initializer element is not constant
    Je pense qu'effectivement, avec l'extension .cpp, c'est le compilateur C++ qui est invoqué.

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 636
    Par défaut
    Salut,

    Tu ne travailles peut être pas avec gcc, mais je ne suis pas loin de penser que le problème vient principalement de l'extension de ton fichier de code source.

    Je viens, justement, de répondre à une question du genre en ce qui concerne Gcc, tu es sans doute confronté au même problème

    Pour faire simple, renomme ton fichier toto.cpp en toto.c, et tu remarquera surement qu'il te sort effectivement l'erreur
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Par défaut le langage est détecté depuis l'extension.
    Utilise l'option "-x" pour forcer le langage.

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. Réponses: 3
    Dernier message: 25/10/2006, 22h54
  3. Difference entre fenetre et boite de dialog
    Par billyboy dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2003, 15h43
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

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