#include <map> #include <iostream> #include <algorithm> using namespace std; int main() { std::map<double, double> A; const auto it = std::min_element(A.begin(), A.end(), [](decltype(A)::value_type& l, decltype(A)::value_type& r) -> bool { return l.second < r.second; }); std::cout << *it << std::endl; } I wish to compute the minimum in the map.
This code failed to compile. I thought the way to use std::min_element's returned iterator is by referencing it. No?
The error message on the std::cout line is "invalid operands to binary expression".
*A.begin()sincestd::mapstores its elements in sorted order.doubleas key forstd::mapis usually not a good idea