Bonjour à tous,

Je ne sais pas si c'est le bon endroit pour poser cette question mais soit.
En fait, je suis en train de réaliser un programme c++ dans lequel j'ai une classe A ayant pour attribut un vecteur d'objets C. Jusque là rien de bien fou ^^.
Par contre, je veux faire un tri de mon vecteur et pour ce faire j'ai utilisé la fonction sort() de la librairie standard.
Je m'y prends ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11

bool A::myFunction(const C *a,const C *b)
{
     return a->attribut < b->attribut;
}

void A::vectorSort()
{
sort(myVector.begin(),myVector.end(), myFunction);
}
cela ne fonctionne que si ma méthode myFunction est une fonction globale à mon programme ou si elle est définie statique dans ma classe A.
J'aimerais juste comprendre pourquoi si je la définis bêtement comme une fonction membre non statique de ma classe A cela foire complet ?

Merci d'avance