私は次の構造体を持っています:
struct B
{
int a;
int b;
};
struct D: public B
{
int c;
};
構造体 B を初期化する場合のように、コンパイル時に構造体 D の変数を初期化したいのですが、次のようになります。
B b1 = { value_of_a, value_of_b };
次の方法でこれを実行しようとしましたが、コンパイルできませんでした:
D d1 = { { value_of_a, value_of_b } , value_of_c };
D d2 = { value_of_a, value_of_b , value_of_c };
構造体を次のように変更すると:
struct D
{
B bb;
int c;
};
「d1」および「d2」の初期化でコンパイルされます。
では、問題は、派生構造体をどのように初期化できるかということです。また、派生構造体を初期化するためのルールがある場合、その理由は何ですか?
ありがとうございました。