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 :

problème avec une exception


Sujet :

C++

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut problème avec une exception
    Salut je désire écrire ma propre classe not_opened en redéfinissant la méthode what mais ça coince lors de la compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    class not_opened:public exception
    {
        public:
        string what()
        {
            return ("fichier n'a pas été ouvert !");
        }
    };
    int main()
    {
     try{
           not_opened e;
          throw e;
     }
        catch ( const not_opened e)
        {
            e.what();
        }
    return 0;
    }
    ça m'affiche l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    passing `const not_opened' as `this' argument of `std::string not_opened::what()' discards qualifiers
    Que faire ?
    Merci .

  2. #2
    Membre actif Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Points : 207
    Points
    207
    Par défaut
    Bonjour, l'erreur vient du fait que ta fonction "what" n'est pas déclarée constante, tu ne peut donc pas appelé "e.what()" étant donné que e est constant...
    Citation Envoyé par isoman
    je désire écrire ma propre classe not_opened en redéfinissant la méthode what
    Ici tu ne redéfinis pas la fonction "what" de std::exception, le type de retour est différent (et non covariant), voilà un lien qui devrait t'aider : http://www.cplusplus.com/doc/tutorial/exceptions.html
    - hp pavillon dv7
    - intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz 2.27GHz
    - nVidia GeForce 9600M GT
    - mémoire vive : 3.0Go

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    covariant ?

  4. #4
    Membre actif Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Points : 207
    Points
    207
    Par défaut
    La FAQ t'en dira plus que moi

    EDIT : regardes aussi le masquage de fonction
    - hp pavillon dv7
    - intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz 2.27GHz
    - nVidia GeForce 9600M GT
    - mémoire vive : 3.0Go

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut

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

Discussions similaires

  1. [Hibernate / Tomcat] Problème avec une exception
    Par ahlam1 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 28/07/2011, 14h03
  2. Problème avec une exception logcat
    Par bounasri dans le forum Android
    Réponses: 12
    Dernier message: 10/05/2011, 15h06
  3. Problème avec une erreur d'exception inconnue
    Par yoyo72 dans le forum Delphi
    Réponses: 5
    Dernier message: 09/08/2006, 11h52
  4. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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