i.second
является std::set
, а не внутренним std::pair
.
Вы должны сделать что-то вроде этого:
for(auto i : map1)
{
std::cout<< i.first << " ";
std::set<std::pair<int,int>> j = i.second;
for (const auto& k : j)
{
std::cout << k.first<<" "<<k.second<<"\n";
}
}
Демо