Bonjour à tous.
C'est certainement parce que je ne suis pas encore très réveillé mais j'ai un petit problème pour trier une liste d'objets. Mon code compile et fonctionne très bien sous Visual Studio 2010, par contre, sous Linux avec g++ 4.5.3 il me sort cette erreur :
Citation Envoyé par g++
error: no matching function for call to ‘std::list<CopyOperation>::sort(IBak::StartCopy()::sort_by_size)’
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4/bits/list.tcc:301:5: note: candidate is: void std::list<_Tp, _Alloc>::sort() [with _Tp = CopyOperation, _Alloc = std::allocator<CopyOperation>]
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
std::list<CopyOperation> CopyList;
 
// ...
 
// Tri par taille
struct sort_by_size
{
	bool operator() (const CopyOperation& i, const CopyOperation& j) const { return (i.GetFileSize() < j.GetFileSize());}
};
CopyList.sort(sort_by_size());
Qu'ai-je donc écris comme conneries encore ?