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

时间:2014-10-29 11:51:18

标签: c++ arrays object

我实施了以下结构:

struct Point {
    int x,y;
};

struct Array {
    Point elem[3];
};

你能解释我为什么会收到错误:

  

错误:' Array'

的初始化程序太多

当我使用以下构造时?:

Array points2 {{1,2},{3,4},{5,6}};

2 个答案:

答案 0 :(得分:8)

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

Array points2 { { {1,2},{3,4},{5,6}}};
              ^ ^ ^
              | | |
              | | array element
              | array
              class

答案 1 :(得分:6)

你实际上还需要一套这样的大括号:

Array points2 {{{1,2},{3,4},{5,6}}};

Working example

有关何时需要这些额外括号的详细说明,请参阅this post。它与容器是否是聚合有关。