[MFC] CList et class helpers

CList et class helpers [MFC] - C++ - Programmation

Marsh Posté le 31-03-2003 à 18:17:40    

Salut
 
J'ai une classe dérivée de CList :  

Code :
  1. class CTreeList : public CList <CTreeItem, CTreeItem&>


 
forcément une classe CTreeItem

Code :
  1. class CTreeItem : public CObject


 
Dans ma classe CTreeItem, pour pouvoir utiliser la fonction Find() de la liste, j'ai rajouter :

Code :
  1. bool operator==(const CTreeItem &trIt);
  2. CTreeItem& operator=(const CTreeItem& source);
  3. bool AFXAPI CompareElements(CTreeItem *pItem1, CTreeItem * pItem2);


 
Plus tard, je creé un CTreeItem, un CTreeList :

Code :
  1. CTreeItem search;
  2. CTreeList lGenre;


 
Puis quand je veux faire mon petit bordel sur lGenre :

Code :
  1. POSITION pos = NULL;
  2. search.lbl = genre;
  3. pos = lGenre.Find(search);


 
Le compilo me renvoie pour l'appel à Find :
binary '==' : no operator defined which takes a left-hand operand of type 'const class CTreeItem' (or there is no acceptable conversion)
e:\microsoft visual studio\vc98\mfc\include\afxtempl.h(1036) : see reference to function template instantiation 'int __stdcall CompareElements(const class CTreeItem *,const class CTreeItem *)' being compiled
 
J'ai bien sur regarder la MSDN, qui me disent de mettre les trois fonctions que j'ai cité plus haut mais ca marche pas...Quelqu'un pourrait-il trouver ou je me plante et ce que je devrais faire ??
 
Merci

Reply

Marsh Posté le 31-03-2003 à 18:17:40   

Reply

Marsh Posté le 31-03-2003 à 19:21:30    

déclare ton operator == comme une fonction const.

Reply

Marsh Posté le 31-03-2003 à 20:43:08    

Ok merci j'essaye

Reply

Marsh Posté le 31-03-2003 à 20:48:11    

Ca marche :) merci

Reply

Sujets relatifs:

Leave a Replay

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