相关疑难解决方法(0)

使用C++ 11将我的compar函数传递给std :: multiset

我有一个std :: multiset,它存储std :: pair.我希望第一个属性对唯一性没有约束,但我希望第二个属性是唯一的.所以,我决定将自己的功能传递给multiset,以实现这一目标(如果不是请告诉我).

根据这个答案,我写了一个类似的功能,但它失败了,我不知道为什么(不知道λ - 我是希腊:)).

auto f = [](std::pair<float, int>& a, std::pair<float, int>& b) {
  return (a.first < b.first && a.second != b.second);
};
Run Code Online (Sandbox Code Playgroud)

错误:

error: expression ‘#‘lambda_expr’ not supported by dump_expr#<expression error>’ is not a constant-expression
sorry, unimplemented: non-static data member initializers
error: unable to deduce ‘auto’ from ‘<expression error>’
Run Code Online (Sandbox Code Playgroud)

c++ lambda stl multiset c++11

2
推荐指数
1
解决办法
1277
查看次数

标签 统计

c++ ×1

c++11 ×1

lambda ×1

multiset ×1

stl ×1