私がこの構造体を持っているとしましょう:
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" };
適切なコンストラクター (この場合は最初のコンストラクター) を暗黙的に呼び出します。
これは何らかの方法で可能ですか?