Problème conversion de conteneur stl set
Bonjour,
Je viens vous voir aujourd'hui car je ne parvient pas à convertir un conteneur..
Voici un morceau de code qui pourra expliquer mon problème
Code:
1 2 3 4
|
bool comparerSavingsGain (SavingsGain a, SavingsGain b) {
return a.gain > b.gain;
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
set<SavingsGain> Solution::creerGainsTries(Probleme &p) {
unsigned n = p.getN();
vector<Sommet> sommets = p.getSommets();
double * * distances = p.getDistances();
bool(*fn_pt)(SavingsGain,SavingsGain) = comparerSavingsGain;
set<SavingsGain,bool(*)(SavingsGain,SavingsGain)> gains(fn_pt);
for (unsigned i = 1; i < n - 1; ++i) {
for (unsigned j = i + 1; j < n; ++j) {
SavingsGain s;
s.route = make_pair(i, j);
s.gain = distances[i][0] + distances[0][j] - distances[i][j];
gains.insert(s);
}
}
return gains;
} |
J'ai une erreur sur le "return" qui dit :
Error : Il n'existe aucune conversion définie par l'utilisateur appropriée de "std::set<SavingsGain, bool (*)(SavingsGain, SavingsGain), std::allocator<SavingsGain>>" en "std::set<SavingsGain, std::less<SavingsGain>, std::allocator<SavingsGain>>"
Merci d'avance
et bonne journée