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 :

Signification de ce message d'erreur


Sujet :

C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Points : 241
    Points
    241
    Par défaut Signification de ce message d'erreur
    Bonjour à tous,
    Je suis entrain de tester la programmation C++ sous linux mandriva avec l'environnement de développement Netbeans 6.1..

    Mon programme se compose juste d'une sortie console ayant pour code : cout << " Ceci est un test " ;

    En header lorsque je met #include <iostream> j'ai un message d'erreur à la compilation et aucune excécution du programme...

    Si je met le header : #include <iostream.h>, la compilation ainsi que l'excécution du programme se fait bien..mais avec le warning suivant :

    #warning This file includes at least one deprecated or antiquated header. \
    Please consider using one of the 32 headers found in section 17.4.1.2 of the \
    C++ standard. Examples include substituting the <X> header for the <X.h> \
    header for C++ includes, or <iostream> instead of the deprecated header \
    <iostream.h>. To disable this warning use -Wno-deprecated.


    Quelqu'un peut il me renseigner plus ?

    merci d'avance..
    a+

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Salut,

    Écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <headerstd.h>
    équivaut à écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <headerstd>
    using namespace std;
    C'est la deuxième version qui est standard.

    Je suppose que le message d'erreur en question indique que cout n'a pas été déclaré… c'est normal, il faut préciser le namespace dans lequel il l'a été, en l'occurence std :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::cout << " Ceci est un test " ;

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    La raison en est simple: tous les fichiers d'en-tête fournis par la norme déclarent leurs classes dans l'espace de noms std, et les fichiers d'en-tête ayant encore l'extension .h ne restent que pour "compatibilité ascendante" (ils ont été remplacés par leurs homologues sans extension).

    Aussi, pour résoudre ton problème, il faut prendre l'habitude de signaler que tu veux accéder à une classe qui se trouve dans l'espace de noms std.

    Ainsi, au lieu d'écrire le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << " Ceci est un test " ;
    écrit plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::cout << " Ceci est un test " ;
    et tu verras, cela va tout de suite beaucoup mieux

    Une alternative, dont j'ai hésité à parler car elle doit être envisagée avec soin et surtout évitée à tout prix dans les fichiers d'en-tête, est d'utiliser la directive si, vraiment, tu trouves trop "lourd" d'écrire des std:: partout
    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

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Points : 241
    Points
    241
    Par défaut
    ok, merci beaucoup , selon fonctionne...

    a+

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

Discussions similaires

  1. [AC-2003] c'est quoi la signification de ce message d'erreur?
    Par NANOUSUN dans le forum IHM
    Réponses: 6
    Dernier message: 02/03/2010, 14h06
  2. Message d'erreur : quelle signification ?
    Par hb2ee dans le forum Glassfish et Payara
    Réponses: 2
    Dernier message: 24/05/2009, 11h48
  3. [MySQL] Quelle est la signification de ce message d'erreur ?
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2008, 21h21
  4. Liste de signification des messages d'erreurs
    Par Gilbert Geyer dans le forum Langage
    Réponses: 7
    Dernier message: 07/01/2008, 16h53
  5. chercher la signification des messages d'erreurs
    Par von_magnus dans le forum Général Python
    Réponses: 8
    Dernier message: 22/05/2006, 09h58

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