Bonjour à tous,
Je travail sous XCODE v2.2 (OS X 10.4.4) et Visual C++ v6 (Windows XP SP2)
Sous XCODE, le compilateur me donne l'erreur suivante : "error: specialization of 'template<class_Tp> struct std::greater' in different namespace" / le Visual est lui beaucoup plus "permissif" ;-)
Le code est le suivant : j'effectue un tri avec l'utilisation de list::sort(x) ou 'x' est une fonction de comparaison de type std::greater() qui me permet de comparer un membre de type std::string contenu dans mes instances de classe.
La voici :
Code :
- template <> struct std::greater<CMyClass *>
- {
- bool operator()(const CMyClass *poA, const CMyClass *poB) const
- {
- return (poA && poB) ? (poA->m_oText.compare(poB->m_oText) <= 0 ? true : false) : false;
- }
- };
|
J'ai du mal à comprendre l'erreur donnée par le compilateur. Quelqu'un a-t-il déjà été confronté à ce type de problème et comment le résoudre ?
Merci d'avance pour vos réponses.