ich hab ein kleines Problem mit meiner Liste:
Code: Alles auswählen
edgeTable.cpp:36: error: no matching function for call to ‘std::list<EntryList, std::allocator<EntryList> >::sort(<unresolved overloaded function type>)’
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/list.tcc:238: note: candidates are: void std::list<_Tp, _Alloc>::sort() [with _Tp = EntryList, _Alloc = std::allocator<EntryList>]
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/list.tcc:343: note: void std::list<_Tp, _Alloc>::sort(_StrictWeakOrdering) [with _StrictWeakOrdering = bool (edgeTable::*)(EntryList, EntryList), _Tp = EntryList, _Alloc = std::allocator<EntryList>]
Code: Alles auswählen
bool edgeTable::compare(EntryList a, EntryList b)
{
return a.gety() > b.gety();
}
Code: Alles auswählen
edgeTableListe.sort( compare );
Ich verstehe vor allem folgenden Punkt nicht: bool (edgeTable::*)(EntryList, EntryList)
Kann mir da mal einer auf die Sprünge helfen..nach google müsste das so funktionieren.
Danke
PS: mit einer ähnlichen Liste mit Pointern hatte ich dasselbe Problem, da bin ich einen anderen Weg gegangen (über operator overloading), wills jetzt aber mal "richtig" machen.