Bonjour !
Voici le début du problème, j'ai une multimap<long, Event>, et je cherche a supprime une entrée grace a une fonction en passant comme argument une reference de Event
Erreur sur la comparaison:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void EventFactory::DeleteEvent(const Event& ev) { for(auto itr = _events.begin(); itr != _events.end(); ++itr) { if(itr->second == ev) { _events.erase(itr); } } }
D:\C++\projects\Servers\Shared\EventFactory.cpp|19|error: no match for 'operator==' in 'itr.std::_Rb_tree_iterator<_Tp>::operator-> [with _Tp = std::pair<const long int, Event>]()->std::pair<const long int, Event>::second == ev'|
Evidemment, je n'ai jamais fait ca
Donc je tente:
Evidemment:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 bool pair<long, Event>::operator==(const pair<long, Event> &comp) const { { return ((this.second.Repeat() == comp.second.Repeat()) && (this.second.Delay() == comp.second.Delay()) && (this.second.Repeated() == comp.second.Repeated()) && (this.first == comp.first)); }
Comment faire pour que cela marche?D:\C++\projects\Servers\Master\..\Shared\Event.h|36|error: too few template-parameter-lists|
merci!
Partager