下面的代码可以工作:
pair<int, string> p({1, "aaa"});
但是,下面的代码是行不通的:
struct XXX {
XXX() {}
explicit XXX(int l) : v(l) {}
int v = 1;
};
pair<int, XXX> p2({1, 2});
我知道如果我删除“显式”,代码就可以工作。然而,使用 explicit 有它的好处...如何使用 explicit 关键字使 initializer_list 工作..?
最佳答案
pair<int, XXX> p2({1, XXX(2)});
关于c++ - 如何使用 initializer_list 列表来初始化具有自定义类的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130209/