Bonjour à tous!!
Voilà tout est dans le titre, j'ai tenté de m'inspirer de la FAQ, mais ça j'ai du commettre une petite erreur quelque part.
J'ai une classe (abstraite):
une liste de pointeur sur cette classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class CDrawableObject { public: CDrawableObject(); virtual ~CDrawableObject(); ( ... ) int m_Type; };
une structure pour trier cette liste:
Code : Sélectionner tout - Visualiser dans une fenêtre à part std::list<CDrawableObject*> m_InterfaceObject;
et enfin l'appelle à la fonction de trie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //Structure pour trier les objets struct SortByType { bool operator ()(const CDrawableObject* a1, const CDrawableObject* a2) const { return (a1->m_Type) < (a2->m_Type); } };
J'obtiens les erreurs suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part std::sort(m_InterfaceObject.begin(), m_InterfaceObject.end(), SortByType() );
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)'ÿ: impossible de dduire l'argument modle pour 'const std::reverse_iterator<_RanIt> &' partir de 'std::list<_Ty>::_Iterator<_Secure_validation>' C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)'ÿ: impossible de dduire l'argument modle pour 'const std::reverse_iterator<_RanIt> &' partir de 'std::list<_Ty>::_Iterator<_Secure_validation>' C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)'ÿ: impossible de dduire l'argument modle pour 'const std::reverse_iterator<_RanIt> &' partir de 'std::list<_Ty>::_Iterator<_Secure_validation>' C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)'ÿ: impossible de dduire l'argument modle pour 'const std::reverse_iterator<_RanIt> &' partir de 'std::list<_Ty>::_Iterator<_Secure_validation>' C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2676: '-'ÿbinaire : 'std::list<_Ty>::_Iterator<_Secure_validation>' ne dfinit pas cet oprateur ou une conversion vers un type acceptable pour l'oprateur prdfini C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm:2903: error C2780: 'void std::_Sort(_RanIt,_RanIt,_Diff)'ÿ: 3 arguments attendus - 4 fournis :: === Build finished: 6 errors, 0 warnings ===
Partager