LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Ну да, это std::initializer_list. А что конкретно не вышло-то?

#include <iostream>
#include <map>

template <typename T>
void accept_a_map(const std::map<std::string, T> &map)
{
        for (const auto &p: map) {
                std::cout << "map[" << p.first << "] = " << p.second << std::endl;
        }
}

template <typename T>
void accept_a_map(std::initializer_list<std::pair<const std::string, T>> il)
{
        accept_a_map(std::map<std::string, T>(std::move(il)));
}

int main()
{
        accept_a_map<int>({ {"one", 1}, {"two", 2} });
}

Исходная версия intelfx, :

Ну да, это std::initializer_list. А что конкретно не вышло-то?