假设我有这个结构:
struct MyStruct {
int field1;
char *field2;
MyStruct(int a, char* b): field2(b) {
field1 = doStuff(a);
}
MyStruct(int a): MyStruct(a, nullptr) {}
~MyStruct();
}
据我所知,这不是一个聚合,因为我有一些构造函数。
我想要实现的是以自定义方式使用花括号初始化程序,这意味着使用如下代码:
MyStruct x = { 1, "string" };
它隐式调用正确的构造函数(在这种情况下是第一个)。
这有可能吗?