struct SimGenRequest {
int wakeup_mfm_;
double value_;
bool operator < (const SimGenRequest & r2) const
{ return (wakeup_mfm_ < r2.wakeup_mfm_) ; }
};
Utilisation:Erreur lors de l'appel de std :: stable_sort?
std::stable_sort (all_requests_.begin (), all_requests_.end ());
Works (compiles). Mais
struct SimGenRequest {
int wakeup_mfm_;
double value_;
};
bool CompareByWakeTime (const SimGenRequest & r1, const SimGenRequest & r2) {
return (r1.wakeup_mfm_ < r2.wakeup_mfm_) ;
}
Utilisation:
std::stable_sort (all_requests_.begin (), all_requests_.end (),
CompareByWakeTime);
ne fonctionne pas. Des pointeurs?
Que signifie "ne fonctionne pas"? Et non, il n'y a pas de pointeurs dans ce code (bien que l'itérateur soit un typedef pour un pointeur). –
La deuxième variante compile OK pour moi en supposant que includes inclut et std :: set all_requests_; –
@Steve Townsend: Je doute qu'il compile en utilisant 'std :: set' - voulez-vous dire' std :: vector'? (Il ne sert à rien d'appeler 'std :: stable_sort' sur un ensemble, et en effet, il ne compilera pas!) Sinon, il compile aussi pour moi. – Thanatos