Einfach nur neugierig, warum die Vergleichsfunktion für stl :: sort kein statisches Member sein kann?Warum ist stl vergleichen Funktion ein Mitglied?
Ich habe eine kleine Hilfsklasse foo, die in einer Kopfzeile deklariert und definiert ist, aber jetzt muss ich eine foo.cpp-Datei für die Implementierung von cmp() erstellen, damit sie nicht mehrfach definiert wird.
Ich muss auch an einen passend dekorierten Namen denken, so dass fooCmp() nicht mit anderen cmp() kollidiert.
Da es keinen Zugriff auf Membervariablen hat, benötigt eine Vergleichsoperation, die Zugriff auf einen anderen Wert benötigt (z. B. nach Entfernung von foo.bar), den komplexen Bind2nd-Aufruf.
Vergleichsfunktion für 'std :: sort' _can_ kann ein statisches Element sein.Was auch immer Ihr Problem ist, es ist nicht da - zeigen Sie den Code! –
Es hätte geholfen, wenn VC++, wenn Sie eine winzige Sache falsch gewinnen STL, nicht eine Fehlermeldung, die sah aus wie eine Katze über Ihre Tastatur und dann führte die US-Steuer-Code durch die resultierende Perl-Skript. –
Es ist eine Fluch aller C++ - Implementierungen, nicht nur VC++ (obwohl ich hoffe, dass sie es ein wenig in VC10 mit 'static_assert' verbessern). Konzepte würden helfen, aber leider sind sie jetzt tot im Wasser ... –