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 :

Dernier �l�ment d'un String


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre tr�s actif
    Avatar de ProgVal
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2006
    Messages
    636
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par d�faut Dernier �l�ment d'un String
    Bonjour,
    J'ai le code suivant, extrait d'une classe. name est un vector.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
        string get_nom(int id) {
            string retour=name[id];
            if (retour[retour.end()] != "s" && quantity[id]>1)
                retour=retour+"s";
            return retour;
        }
    Or, la premi�re partie du if g�n�re cette erreur:
    error C2679: '[' binaire : aucun op�rateur trouv� qui accepte un op�rande de partie droite de type 'std::_String_iterator<_Elem,_Traits,_Alloc>' (ou il n'existe pas de conversion acceptable)

    Merci d'avance,
    ProgVal,
    nouveau programmeur C++

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    Essaye :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if( retour[retour.size() - 1] != 's' ... )
    En effet end() retourne un it�rateur juste apr�s la fin de la cha�ne, donc non seulement c'est pas une position mais un it�rateur, mais en plus il pointe apr�s la cha�ne et non sur le dernier �l�ment.
    Et puis [] donne un caract�re, donc � comparer avec un caract�re.

    edit : j'ai oubli� : bien s�r retour est vide, �a fait n'importe quoi, il manque aussi un test pour v�rifier �a...

    MAT.

  3. #3
    Membre tr�s actif
    Avatar de ProgVal
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2006
    Messages
    636
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par d�faut
    Merci beaucoup!
    J'ignorais que ce qui �tait retourn� �tait un char.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 10
    Dernier message: 09/06/2006, 17h02
  2. enlever dernier char d'un string
    Par delma dans le forum Langage
    R�ponses: 2
    Dernier message: 28/05/2006, 18h21
  3. R�ponses: 5
    Dernier message: 27/12/2005, 04h57
  4. for-each et dernier �l�ment
    Par neptune dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 08/09/2005, 14h53
  5. Comment r�cup�rer l'index du dernier �l�ment ins�r� ?
    Par Didier100 dans le forum Bases de donn�es
    R�ponses: 4
    Dernier message: 15/07/2004, 22h41

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