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

SL & STL C++ Discussion :

Ambiguité entre std:: et ?


Sujet :

SL & STL C++

  1. #1
    Membre régulier
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 96
    Points
    96
    Par défaut Ambiguité entre std:: et ?
    Bonjour !

    Je ne comprends pas le sens de l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    E2015 Ambiguity between '__strcmp__(const char *,const char *)' and 'std::__strcmp__(const char *,const char *)'
    Il y aurait deux fonctions strcmp définies dans mon programme ?
    Lesquelles.... celle de stdio.h et quelle autre ?
    Etant donné que mes fichiers en-tête sont réduits en nombre ( <stdio.h> et <fstream.h>) l'ambiguité ne peut pas venir de très loin.

    La ligne incriminée c'est : if (!strcmp(toto, titi))...
    J'ai essayé un std:: devant : if (!std::strcmp(toto, titi))...
    Puis un using namespace std;

    Rien à faire.
    Z'avez une idée ?

    Compilateur : Borland Builder C++ studio

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Il faut inclure fstream et non fstream.h.
    De plus tu aurais moins de problème en utilisant std::string pour tes chaînes de caractères.

    Un petit tour par la FAQ te donnera quelques explications supplémentaires, notamment sur l'espace de noms std.

  3. #3
    Membre régulier
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 96
    Points
    96
    Par défaut
    Effectivement <fstream> marche parfaitement !!!

    En lisant la FAQ sur un cas semblable - iostream et iostream.h,
    je m'aperçois que le compilateur devrait m'avertir comme quoi
    utiliser <iostream.h>, <fstream.h> etc, est obsolète, mais je n'ai pas eu droit à cet avis...
    Mais ça m'a permis de m'éduquer sur ces nouveaux en-têtes...

    Merci en tout cas Laurent Gomila !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    En gros, il est préfèrable de ne jamais inclure des headers standards en .h en C++. Même pour ceux du C standard il existe des équivalents qui déclarent les fonctions dans le namespace std (stdio.h->cstdio, stdlib.h->cstdlib,...).

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

Discussions similaires

  1. document.forms[] ambiguité entre 0 et 1
    Par honey0 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/08/2010, 14h04
  2. Affectation entre std::string
    Par Julgood dans le forum C++
    Réponses: 3
    Dernier message: 18/02/2010, 18h56
  3. Ambiguité entre API, frameswork et bibliothèque
    Par wafiwafi dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 14/10/2009, 14h35
  4. Ambiguité entre "Windows" et "excel_2k::Windows"
    Par Mamat31 dans le forum Windows
    Réponses: 1
    Dernier message: 29/06/2007, 15h30
  5. Ambiguité entre CEvent MFC et CEvent ATL
    Par Gabrielly dans le forum MFC
    Réponses: 6
    Dernier message: 21/12/2006, 20h09

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