简体   繁体   English

如何使用initializer_list列表初始化具有自定义类的地图

[英]How to use initializer_list list to initialize a map with customized class

The following code can work: 以下代码可以工作:

pair<int, string> p({1, "aaa"});

However, the following code can't work: 但是,以下代码无法工作:

struct XXX {
  XXX() {}
  explicit XXX(int l) : v(l) {}
  int v = 1;
};
pair<int, XXX> p2({1, 2});

I understand that if I remove the "explicit", the code can work. 我明白,如果我删除“显式”,代码可以工作。 However, using explicit has its benefits... How to make the initializer_list work with explicit keyword is used..? 但是,使用explicit有它的好处...如何使用explicitizer_list使用显式关键字...?

pair<int, XXX> p2({1, XXX(2)});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM