是否可以编写和初始化
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}
}
};
答案 0 :(得分:1)
请注意,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}}}
:{{1}}
答案 1 :(得分:0)
通过这种方式初始化:ee{"MAC", {0,0} }
您只是初始化一个列表元素,您缺少List的括号,这样做可以解决问题:
QMap<QString, QPair<int, int>> ee{ {"MAC", {0,0} } }