Наверно, я совсем туплю, но почему такой код не работает? Дабл не может быть ключом для мапы?
std::map <double, std::pair<int, double>> m;
std::pair<int, double> p = {1, 1.};
double d = 1.;
m.insert(d, p);
нельзя сравнивать флоаты как инты
это на уровне машины не сработает как ты хочешь