Salut c'est encore moi toujours dans mon exploration de la STL
J'ai tenté de surcharger (un peu au pif) une fonction dans ma classe qui dérive d'une multimap car cette dernière stocke en "value" un pointeur sur une zone mémoire allouée dynamiquement.
Voici comment je m'y suis pris (vous avez le droit de le rire mais discrètement) :
Du côté de la définition de classe, dans le .h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 size_type CLayersMMap::erase(const key_type& p_rKey) { CLayersMMap::iterator Iterator; for (Iterator = this->find(p_rKey); Iterator != this->end(); Iterator = this->find(p_rKey)) delete Iterator->second; multimap<string, CLED*>::erase(p_rKey); }
Apparement c'est presque ça, j'ai juste une erreur "Erreur de syntaxe de déclaration" sur size_type CLayersMMap::erase(const key_type& p_rKey).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class CLayersMMap : public std::multimap<std::string, CLED*> { //plein de choses public: virtual size_type erase(const key_type&); //plein de choses };
Voilà vous savez tout, à vos neurones, prêt, répondez =P
Partager