Код ниже не компилируется в vs 2012. В строке 4 я получил ошибку C2143: синтаксическая ошибка: отсутствует ‘,’ before ‘<». Может кто-нибудь помочь мне исправить это. Я был бы очень признателен.
пс. не сосредотачивайтесь на регистронезависимом, я должен удалить что-то, чтобы сделать код проще.
#include<functional>
template<typename Ty>
struct case_insensitive_less : public binary_function<Ty, Ty, bool>{
bool operator()(Ty const& left, Ty const& right) const
{
return (left < right);
}
};
int main(){}
Вам нужно std
Пространство имен:
std::binary_function
Обратите внимание, что станд :: binary_function устарела в C ++ 11. Если у вас есть поддержка C ++ 11, рассмотрите возможность использования станд :: функция и / или лямбды.
Других решений пока нет …