Problème avec Sort() sur un TList
Bonjour à tous,
Je suis entrain de m'arracher les cheveux avec la méthode Sort() de TList et je voudrais faire appel à votre savoir faire.
Voici ma structure :
Code:
1 2 3 4 5 6 7 8
| typedef struct AClassement
{
AnsiString Tag;
int Nbt;
TDateTime Temps;
} TAClassement;
typedef TAClassement* PAClassement; |
Voici le proto de ma fonction de tri :
Code:
1 2
| public: // User declarations
int __fastcall ComparisonFunction(void *, void *); |
Et voici ma fonction de tri :
Code:
1 2 3 4 5 6 7 8 9 10
| int __fastcall TClassements::ComparisonFunction(void *Item1, void *Item2))
{
if (PAClassement(Item1)->Nbt < PAClassement(Item2)->Nbt)
return -1;
else
if (PAClassement(Item1)->Nbt > PAClassement(Item2)->Nbt)
return 1;
else
return 0;
} |
Et voici l'endroit ou je souhaite faire le tri :
Code:
MaList->Sort(ComparisonFunction);
A la compilation, il me retourne les 2 erreurs suivantes :
Code:
1 2
| [C++ Error] CLA.cpp(163): E2034 Cannot convert 'int (_fastcall * (_closure )(void *,void *))(void *,void *)' to 'int (_fastcall *)(void *,void *)'
[C++ Error] CLA.cpp(163): E2342 Type mismatch in parameter 'Compare' (wanted 'int (_fastcall *)(void *,void *)', got 'void') |