で基本クラスを初期化したいstd::initializer_list
。
struct A : public std::array<int, 4>
{
// This constructor works fine
A()
: std::array<int, 4>{{ 1, 2, 3, 4 }}
{
}
// THIS CONSTRUCTOR FAILS TO COMPILE
A(std::initializer_list<int> il)
: std::array<int, 4>{il}
{
}
};
2番目のコンストラクターのGCCエラーは
エラー: 配列は中かっこで囲まれた初期化子で初期化する必要があります
私が欲しいのは、このようなinitializer_listで新しいAインスタンスを初期化することです
A var{{ 1, 2, 3, 4 }}
そしてそれを基底クラスに渡します。