[c++] vector sort (Résolu)

vector sort (Résolu) [c++] - C++ - Programmation

Marsh Posté le 09-10-2003 à 11:17:41    

pour trier mon vecteur je fait comme ceci:
 

Code :
  1. typedef pair<int *,int> pr;
  2. typedef vector<pr> v;
  3. v vect;
  4. sort(vect.begin(),vect.end(),myfct);
  5. bool myfct(pr &l1,pr &l2){
  6. if (...)
  7.   return true;
  8. else
  9.   return false;
  10. }


 
ca ne compile pas il me met :

Code :
  1. error C2664: 'void __cdecl std::sort(struct std::pair<int *,int> *,struct std::pair<int *,int> *,bool (__thiscall *)(struct std::pair<int *,int> &,struct std::pair<int *,int> & ))' :
  2. cannot convert parameter 3 from
  3. 'bool (struct std::pair<int *,int> &,struct std::pair<int *,int> & )' to
  4. 'bool (__thiscall *)(struct std::pair<int *,int> &,struct std::pair<int *,int> & )'
  5. None of the functions with this name in scope match the target type


 
en gros c le (__thiscall *) qui gene


Message édité par red faction le 09-10-2003 à 11:32:23
Reply

Marsh Posté le 09-10-2003 à 11:17:41   

Reply

Marsh Posté le 09-10-2003 à 11:26:23    

ta fonction de comparaison doit etre soit  
1/ non membre
2/ membre, mais static

Reply

Marsh Posté le 09-10-2003 à 11:32:48    

chrisbk a écrit :

ta fonction de comparaison doit etre soit  
1/ non membre
2/ membre, mais static
 


 
savait pas mais jaurai du y penser
 
merci bcp  :D

Reply

Marsh Posté le 09-10-2003 à 15:39:52    

rien à voir ...  
 
la fonction doit être un operator<
 
-> si membre bool dawa :: operator<(const dawa & ) const
-> si extérieure bool dawa :: operator<(const dawa &, const dawa & )
 
ou un functor
 
genre
 
bool functor :: operator()(const dawa &, const dawa & ) [const]


Message édité par Taz le 09-10-2003 à 15:40:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed