Bonsoir

Certains programmes que j'avais compil�s sans probl�me avec bcb5, �dition professionnelle, ne se compilent plus avec bcb6, �dition professionnelle.

J'ai cr�� une classe :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
class TFichier
{
  public :
    AnsiString FNom;
    AnsiString FRepertoire;
    AnsiString FNouveauNom;
 
    TFichier() { FRepertoire=""; FNom=""; FNouveauNom=""; };
 
     bool operator < (const TFichier& aFichier)
    {
      AnsiString asFRepertoire=FRepertoire.UpperCase(),
                 asRepertoire=(aFichier.FRepertoire).UpperCase();
 
      if(asFRepertoire < asRepertoire) return true;
      else
      {
        AnsiString asFNom=FNom.UpperCase(), asNom=(aFichier.FNom).UpperCase();
        if(asFRepertoire > asRepertoire) return false;
        else
        {
          if( (asFRepertoire + asFNom) < (asRepertoire + asNom)) return true;
          else return false;
        };
      }
    }
};
 
 
typedef list<TFichier> LISTFICHIER;
LISTFICHIER ListFichier;
A la compilation il y a une erreur g�n�r�e par la ligne :


Le message est :
[C++ Erreur] _function_base.[73]: E2093 'operator<' non impl�ment� dans le type 'TFichier' pour les argument du m�me type.

Ce qui est surlign� dans _function_base.h est :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
 
template <class _Tp>
struct less : public binary_function<_Tp,_Tp,bool> 
{
  bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; }
};
Quelqu'un sait-il pourquoi cela se produit avec bcb6 et pas bcb5

Merci