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 du Club
    Inscrit en
    Septembre 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 86
    Points : 48
    Points
    48
    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 expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    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
    Points : 13 017
    Points
    13 017
    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 sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    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

  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
    Points : 4 625
    Points
    4 625
    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