Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
tnk500
114 / 118 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
Завершенные тесты: 3
#1

Map и список инициализации - C++

10.12.2015, 18:11. Просмотров 562. Ответов 4
Метки нет (Все метки)

Нужна карта с ключами определённого типа и элементами картами, в которых ключи того же типа, что и первые ключи, а элементы — пары:
C++
1
std::map<type, std::map<type, std::pair<int, int>, TypeCmp>, TypeCmp> myMap
.

Ну типы не важны, важно, что в шаблонный параметр всегда передаётся компататор ключа. Это инициализировать кучей вызовов insert мне абсолютно не хочется, но вот такое не работает:
C++
1
2
3
4
5
6
7
8
9
std::map<type, std::map<type, std::pair<int, int>, TypeCmp>, TypeCmp> table
    {
        { type::Inside, {
                { type::Quotes, { type::Outside, 0 } },
                { type::Other, { type::Inside, Functor() } }
            }
        },
        { type::Outside, type::Quotes, { type::Inside, 0 } }
    };
MinGW 4.9.2 пишет, что такого конструктора (std::map<...>(<brace enclosed init. list>) нет. Как выкручиваться?
http://www.cyberforum.ru/cpp-beginners/thread872275.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2015, 18:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Map и список инициализации (C++):

Список инициализации конструктора
Всем привет. У меня есть некоторые вопросы насчет списка инициализации...

Конструкторы, список инициализации
Что означает запись на последней строке? Я понял что это конструктор класса, но...

Конструктор. Наследование. Список инициализации
Если есть класс, который наследует другой класс, то как задать для конструктора...

Вопрос про список инициализации
class A { public: A() {i=1;} private: int i; }; class B {...

Список инициализации в конструктор C++11. Зачем?
Обьясните зачем в с++11 сделали возможность инициализировать данные м помощью...

4
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
10.12.2015, 18:19 #2
Цитата Сообщение от tnk500 Посмотреть сообщение
MinGW 4.9.2 пишет, что такого конструктора
Может где что напутал, или не включил c++11
Для std::unordered_map работает и для map должно быть аналогично.
0
tnk500
114 / 118 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
Завершенные тесты: 3
10.12.2015, 18:35  [ТС] #3
Tulosba, хм, я включил c++14, 11 не записывал. Включение 14 не означает включение 11-ого?
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
10.12.2015, 18:41 #4
Цитата Сообщение от tnk500 Посмотреть сообщение
Включение 14 не означает включение 11-ого?
каждая ревизия Стандарта это набор дополнений и изменений, поэтому нельзя сказать однозначно, что более новый будет поддерживать всё то, что было в старом.
Сейчас проблема актуальна или всё заработало?
0
tnk500
114 / 118 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
Завершенные тесты: 3
10.12.2015, 20:02  [ТС] #5
Tulosba, есть мысль, что я напортачил с типами, надо бы просмотреть всё снова. Насколько я помню, лямбда-функции, параметры delete у конструктора, override работали и без указания 11 года.
0
10.12.2015, 20:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2015, 20:02
Привет! Вот еще темы с решениями:

Std::array и список инициализации
Помогите, плес. Как поправить? Вроде же все нармально инициализирую, но выдает...

Как правильно написать список инициализации
файл .h содержит: struct text_field{ char *text; char position; ...

Шаблон не выводит список инициализации. Что за капризы
Шаблон не выводит тип, но это же фундаментальная их возможность, что за...

Создание массива объектов класса через список инициализации в конструкторе композита
Может, просто плохо искала, но не могу найти. Есть класс, атрибутом которого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru