Vous pouvez faire quelque chose comme ceci:
qsort(static_cast<void*>(&arr[0]), arr.GetSize(), sizeof(CMyList*), CompareFunction);
où compareFunction est une méthode statique:
// header:
static int CompareFunction(const void* a, const void* b);
// cpp
int CYourClass::CompareFunction(const void* a, const void* b)
{
CMyList* pA = static_cast<CMyList*>(a);
CMyList* pB = static_cast<CMyList*>(b);
return pA->Compare(*pB); // Compare is a comparision CMyList* criteria
}
De plus, vous jetez un coup d'oeil sur la référence qsort: http://www.cplusplus.com/reference/cstdlib/qsort/
double possible de [ Comment trier un CArray d'un type défini par l'utilisateur?] (Https://stackoverflow.com/questions/244487/how-do-i-sort-a-carray-of-a-user-defined-type) –
I 'ai été programmation avec MFC pour aller sur vingt ans. Je n'ai presque jamais utilisé un conteneur Microsoft. S'il vous plaît envisager de passer à la [bibliothèque standard C++] (https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) pour votre travail. – lakeweb