Surcharge (ou redéfinition) de fonction
Salut c'est encore moi toujours dans mon exploration de la STL :D
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) :
Code:
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);
} |
Du côté de la définition de classe, dans le .h :
Code:
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
}; |
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).
Voilà vous savez tout, à vos neurones, prêt, répondez =P