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 :

Crash avec une fonction renvoyant une std::string et return 0;


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 70
    Par d�faut Crash avec une fonction renvoyant une std::string et return 0;
    Bonjour,

    je viens de d�couvrir un bug qui �tait d� � une fonction renvoyant une std::string et � un return 0; dans celle ci ( suite � un copi� coll�, j'avais oubli� de mettre return ""; � la place de return 0; ) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    std::string MyFunction()
    {
        //...
        return 0;
    } //Engendrant un crash
    J'aimerai avoir votre avis l� dessus : Comment se fait il que le 0 ait �t� converti en std::string ?
    La correction n'a pas �t� difficile, mais je m'�tonne que le compilateur ( Mingw-gcc TDM 4.3.2-tdm-2 ) ait laiss� pass� ceci.

  2. #2
    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,
    Le coupable est le constructeur : string ( const char * s ) 0 n'est jamais que NULL.
    En effet, ni gcc, ni visual n'�mettent d'avertissement par d�faut.

    Morale : pour tes classes � toi, pr�cise explicit pour ce genre de constructeur, c'est parfois un peu plus emb�tant mais �a �vite ces b�vues.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 70
    Par d�faut
    Je me disais pourtant "Bizarre, je renvoie bien une std::string et non pas un std::string*". Salet� de conversion

    Merci pour l'explication

Discussions similaires

  1. Appel d'une fonction dans une fonction d'une m�me classe
    Par script73 dans le forum G�n�ral Python
    R�ponses: 3
    Dernier message: 06/03/2015, 10h18
  2. Renvoyer une table dans une fonction
    Par GeantBioHazard dans le forum Services Web
    R�ponses: 0
    Dernier message: 10/07/2009, 09h38
  3. R�ponses: 3
    Dernier message: 29/04/2006, 13h02
  4. R�ponses: 3
    Dernier message: 16/01/2006, 16h02
  5. R�ponses: 4
    Dernier message: 17/03/2004, 17h24

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