Доступ к QMap из QMap <QString, QPair <int, int >> - PullRequest
0 голосов
/ 03 мая 2018

Можно ли написать и инициализировать

QMap<QString, QPair<int, int>>

в Qt 5.10?

Например, я хочу сделать это

QMap<QString, QPair<int, int>> ee{"MAC", 0,0,};  // string, section 0, line 0

Когда я поставляю Mac, мне нужно получить пару 0,0

 eepromDictionary = QMap<QString, QPair<int, int>>{ {
                                                      "MAC", {0,0},
                                                      "IP", {0,0},
                                                      "Mask", {0,0},
                                                      "ID", {0,0},
                                                      "Gateway", {0,0},
                                                      "Date", {0,0}
                                                      }

                                                      };

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Обратите внимание, что QMap(initializer_list<pair<Key, T>> принимает pair<Key, T> в качестве элементов. Этого должно быть достаточно, чтобы обернуть каждый элемент в отдельные скобки. Например:

QMap<QString, QPair<int, int>> ee = {{"MAC", {0, 0}}}

Если вы собираетесь инициализировать второй элемент ee, вы можете расширить initializer_list следующим образом: {{"MAC", {0, 0}}, {"DONALDS", {0, 0}}}

0 голосов
/ 03 мая 2018

Инициализируя это следующим образом: ee{"MAC", {0,0} } вы инициализируете только элемент списка, вы пропускаете скобки списка, и это должно решить проблему:

QMap<QString, QPair<int, int>> ee{ {"MAC", {0,0} } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...