以下代码不在vs 2012中编译。在第4行中,我收到错误C2143:语法错误:在'<'之前缺少','。有人可以帮我解决它。我会非常感激。
PS。不要专注于不区分大小写,我删除了一些东西以使代码更简单。
#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(){}
答案 0 :(得分:5)
您需要std
命名空间:
std::binary_function
请注意,C ++ 11中不推荐使用std::binary_function。如果您有C ++ 11支持,请考虑使用std::function和/或lambdas。