我有一个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)