Либо сделайте
map.insert(std::make_pair(1, std::make_tuple(temp, 0.f, 0.f)));
или
map.emplace(1, std::make_tuple(temp, 0.f, 0.f));
, что на самом деле лучше, потому что создает меньше временных.
Редактировать:
Таместь даже возможность вообще не создавать временных:
map.emplace(std::piecewise_construct, std::forward_as_tuple(1),
std::forward_as_tuple(temp, 0.f, 0.f));