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 redéfinition de l'opérateur []


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Points : 114
    Points
    114
    Par défaut Problème redéfinition de l'opérateur []
    Bonsoir,

    Lorsque je compile cette fonction j'ai un warning me disant qu'il manque un return, seulement je ne vois pas ce que je pourrais renvoyer d'autres...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Vers*& Strophe::operator[](const int i)
    {
    	if ((i >= 0) && (i < this->nbVers))
    	{
    		return this->suiteVers[i];
    	}
    }
    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Si tu ne peux pas retourner, lance:
    Code C++ : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #include <stdexcept>
     
    Vers*& Strophe::operator[](const size_t i)
    {
    	if ( i < this->nbVers)
    	{
    		return this->suiteVers[i];
    	}
    	else
    	{
    		throw std::out_of_range("On déborde de la strophe");
    	}
    }
     
    //La version const retourne par valeur,
    //car c'est plus performant pour un pointeur.
    //
    //Selon la sémantique de Strophe, le pointeur devrait peut-être être const.
    //C'est toujours un dilemme avec les collections de pointeurs.
    Vers* Strophe::operator[](const size_t i) const
    {
    	if ( i < this->nbVers)
    	{
    		return this->suiteVers[i];
    	}
    	else
    	{
    		throw std::out_of_range("On déborde de la strophe");
    	}
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Points : 114
    Points
    114
    Par défaut
    Je ne savais pas que lever une exception pouvais enlever ce warning. Merci ça marche très bien

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

Discussions similaires

  1. Problème redéfinition opérateur <<
    Par scary dans le forum Débuter
    Réponses: 3
    Dernier message: 18/03/2010, 16h04
  2. redéfinition de l'opérateur ==
    Par zackrel dans le forum C++
    Réponses: 6
    Dernier message: 24/04/2006, 20h34
  3. Redéfinition / Surdéfinition d'opérateur
    Par slate dans le forum C++
    Réponses: 12
    Dernier message: 17/02/2006, 02h17
  4. Petit probléme de surcharge d'opérateur .
    Par Clad3 dans le forum C++
    Réponses: 20
    Dernier message: 11/04/2005, 20h15
  5. Problème de surcharge d'opérateurs
    Par Hell dans le forum C++
    Réponses: 17
    Dernier message: 17/01/2005, 16h01

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