Gan*_*nil 5 initializer-list c++11
在C++ 11中,我可以使用如下所示的initializer_list初始化地图:
map<string, int> mymap = {{"first", 1}, {"second", 2}};
Run Code Online (Sandbox Code Playgroud)
但不是这样的:
initializer_list<pair<string,int>> il = {{"first", 1}, {"second", 2}};
map<string, int> mymap2{il};
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?是否有不同的语法或根本不可能?
谢谢.
获取列表的initializer_list构造函数,它是第一个元素.mapvalue_typepairconst
这将有效:
initializer_list<pair<string const,int>> il = {{"first", 1}, {"second", 2}};
^^^^^^
Run Code Online (Sandbox Code Playgroud)