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 :

STL, map et operateur '+'


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par défaut STL, map et operateur '+'
    Bonjour.

    J'ai un problème avec cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                for (int pos_x = x;
                    pos_x <= x+(m_pFileData->Get_DataDecors(m_Sprites[DECORS])[TAILLEX])
                    && pos_x < longueur;
                    pos_x++)
                {
    A la ligne "x+(m_pFileData[...]", le compilateur me donne une erreur très longue (je met que le début): "no match for operator+ in 'x+(mp_FileData[...]"

    mp_FileData retourne un map<int, int>... D'ou vient le problème ?? Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    tu es totalement sûr que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_pFileData->Get_DataDecors(m_Sprites[DECORS])[TAILLEX]
    tu renvois un int ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre très actif
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par défaut
    Logiquement oui, puisque Get_DataDecors(m_Sprites[DECORS]) renvoit un map<int, int>, donc j'y rajoute l'opérateur [] avec [TAILLEX], je devrais donc obtenir un int...

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    en effet...

    ça serait possible que tu donnes le message d'erreur en entier s'il te plaît ? (c'est vrai qu'il sont très longs... ^^)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre très actif
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Par défaut
    Pas moyen de copier-coller le message d'erreur sous Code::Blocks

    Alors le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: no match for 'operator+' in 'x + *(((C_Case*)this->C_Case::m_pFileData->C_FileData::Get_DataDecors((((std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > >*)((C_Case*(this))+8u)->std::map<_Key, _Tp, _Compare, _Alloc>::opera
    J'ai pas la suite...

  6. #6
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Dans ce cas là décompose pour mieux cerner l'erreur. De toute façon, faire une recherche dans une map à chaque tour de boucle est une mauvaise idée. Et ton code n'en sera que plus clair.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const std::map<int, int>& Data = m_pFileData->Get_DataDecors(m_Sprites[DECORS]);
    int Size = Data[TAILLEX];
     
    for (int pos_x = x; (pos_x <= x + Size) && (pos_x < longueur); pos_x++)

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

Discussions similaires

  1. stl map et valeur par défault
    Par azmodai dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2010, 16h10
  2. [C++/STL Map] Segfault en Release, rien en Debug
    Par Bluespear dans le forum SL & STL
    Réponses: 3
    Dernier message: 28/04/2010, 09h25
  3. Erreur STL MAP
    Par layneuks dans le forum C++
    Réponses: 6
    Dernier message: 11/01/2010, 19h07
  4. inserer dans stl::map
    Par ocean24 dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/04/2007, 01h47
  5. STL map const et une erreur dans une condition...
    Par insomniak dans le forum SL & STL
    Réponses: 2
    Dernier message: 15/05/2006, 17h56

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