ошибка C2143: синтаксическая ошибка: отсутствует ‘,’ перед ‘& lt;’

Код ниже не компилируется в 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(){}

1

Решение

Вам нужно std Пространство имен:

std::binary_function

Обратите внимание, что станд :: binary_function устарела в C ++ 11. Если у вас есть поддержка C ++ 11, рассмотрите возможность использования станд :: функция и / или лямбды.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]