数组错误的初始化程序太多

Leo*_*ldo 2 c++ arrays object

我实现了以下结构:

struct Point {
    int x,y;
};

struct Array {
    Point elem[3];
};
Run Code Online (Sandbox Code Playgroud)

你能解释一下我收到错误的原因吗:

错误:'Array'的初始化程序太多

当我使用以下建筑时?:

Array points2 {{1,2},{3,4},{5,6}};
Run Code Online (Sandbox Code Playgroud)

Mik*_*our 8

你需要更多大括号,因为你正在一个类中的数组中初始化对象:

Array points2 { { {1,2},{3,4},{5,6}}};
              ^ ^ ^
              | | |
              | | array element
              | array
              class
Run Code Online (Sandbox Code Playgroud)


Cor*_*mer 6

你真的需要一组这样的大括号:

Array points2 {{{1,2},{3,4},{5,6}}};
Run Code Online (Sandbox Code Playgroud)

工作实例

有关何时需要这些额外支撑的进一步说明,请参阅此文章.它与容器是否是聚合有关.