binary_function base class undefined
-
Hi,
ich versuche gerade ein VS6.0 Projekt in ein VS2005 Projekt zu konvertieren.Ich hänge nun bei einem struct indem ich den Fehler nicht sehen kann.
template<typename T> struct NameSorter: public binary_function<T, T, bool> { bool operator () (const T &a, const T &b) const { return a.name < b.name; } };
Ich habe den 'algorithm' header included und ich habe auch den namespace 'std' gesetzt. Trotzdem bekomme ich diese Fehlermeldung:
1>c:\work\markus\vc2005projects\stormtest\editor\explosion_scripts.cpp(54) : error C2504: 'binary_function' : base class undefined
1> c:\work\markus\vc2005projects\stormtest\editor\explosion_scripts.cpp(60) : see reference to class template instantiation 'editor::`anonymous-namespace'::NameSorter<T>' being compiled
1>c:\work\markus\vc2005projects\stormtest\editor\explosion_scripts.cpp(54) : error C2143: syntax error : missing ',' before '<'Hat jemand eine Idee?
-
Staati schrieb:
Ich habe den 'algorithm' header included und ich habe auch den namespace 'std' gesetzt.
Falscher Header - die STL-Funktorklassen stehen im Header <functional>
-
Ah, danke!
Hat sich das geändert? Wundert mich grad etwas, weil das unter VS6.0 funktioniert hat..
-
Eigentlich nicht - die waren schon immer in der <functional> (es kann höchstens sein, daß die <algorithm> beim VC6 diese Datei irgendwo benötigt - und deshalb mit eingebunden - hat).