使用std::Range::Min在std::map上投影
可以在std::map上投影吗?我尝试使用std::Range::Min投影,但它似乎抛出了错误,我无法解释它为什么不喜欢东西。
#include <set>
#include <iostream>
#include <ranges>
#include <vector>
#include <iostream>
#include <map>
#include <algorithm>
int main()
{
std::map<int, int> usage_table;
auto lowest = std::ranges::min( std::move(usage_table),
{},
&std::map<int,int>::value_type::second );
}
我可以解决这个问题,但如果这个衬垫能用就好了。
最佳
解决方案
您可以像这样使用std::ranges::min_element
来代替std::ranges::min
:
auto lowest = *std::ranges::min_element(std::move(usage_table),
{},
&std::map<int,int>::value_type::second);
此外,还不清楚您为什么要move
map
,它似乎没有做任何有用的事情。
相关文章