2014-10-29 97 views
2

我已經實現以下結構:太多初始化數組錯誤

struct Point { 
    int x,y; 
}; 

struct Array { 
    Point elem[3]; 
}; 

你能解釋一下爲什麼我得到一個錯誤:

error: too many initializers for 'Array'

當我用下面的結構?:

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

回答

8

你需要更多的支撐,因爲你是一個陣列內的類中初始化對象:

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

你實際上需要一套更多的大括號,例如:

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

Working example

用於當需要這些額外的括號進一步解釋見this post。這與容器是否是聚合有關。