我想用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}
{
}
};
第二个构造函数的 GCC 错误是
错误:数组必须用大括号括起来的初始化程序初始化
我想要的是像这样用 initializer_list 初始化新的 A 实例
A var{{ 1, 2, 3, 4 }}
并将其传递给基类。