[英]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.