1

下面的代码无法在 vs 2012 中编译。在第 4 行中,我收到错误 C2143:语法错误:在 '<' 之前缺少 ','。有人可以帮我解决它。我将不胜感激。

附言。不要专注于不区分大小写,我删除了一些内容以使代码更简单。

#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(){}
4

1 回答 1

5

您需要std命名空间:

std::binary_function

请注意std::binary_function在 C++11 中已弃用。如果您有 C++11 支持,请考虑使用std::function和/或lambdas

于 2012-09-08T08:16:07.897 回答