使用自定义std :: set比较器
我试图将一组整数中的项的默认顺序更改为lexicographic而不是numeric,并且我无法使用g ++进行以下编译:
file.cpp:
bool lex_compare(const int64_t &a, const int64_t &b) { stringstream s1,s2; s1 << a; s2 << b; return s1.str() < s2.str();}void foo(){ set<int64_t, lex_compare> s; s.insert(1); ...}
我收到以下错误:
error: type/value mismatch at argument 2 in template parameter list for ‘template<class _Key, class _Compare, class _Alloc> class std::set’error: expected a type, got ‘lex_compare’
我究竟做错了什么?
哈士奇WWW
杨魅力
泛舟湖上清波郎朗
相关分类