std::array 支持聚合初始化,但这里有什么问题?如果使用代码 (1),vc10.0 和 g++ 4.7.2 都会抱怨初始化程序太多。但是如果我改用代码(2),一切都很好。
#include <array>
struct elem_t { char c; unsigned n;};
struct my_struct_t
{
int i;
// std::array<elem_t, 2> a; // (1) cause error
// elem_t a[2]; // (2) ok
};
int main()
{
std::array<int, 3> ai[] = {{1,2,3},{4,5,6}}; // ok
my_struct_t var[] =
{
{ 0, { {'a',1U}, {'b',2U}} }, // in question?
};
}