0

自 gcc 4.4 起应该支持初始化列表(我也可以在其他地方使用它们而不会出现问题),但是当我尝试使用 MinGW 4.5.2 编译它时,我得到一个“错误的数组初始化”错误。我确实使用 -std=c++0x 进行编译。“点”只是一个 Vector2D[4]。

我究竟做错了什么?

BoundingBox::BoundingBox(float width, float height, float posX, float posY) :
points{
          Vector2D{posX,posY},
          Vector2D{posX+width, posY},
          Vector2D{posX+width, posY+height},
          Vector2D{posX, posY+height}
    } //error: bad array initializer
{

}
4

2 回答 2

0

尝试添加括号:

points({Vector2D{posX, posY}, ...})

代替

points{Vector2D{posX, posY}, ...}

我手头没有编译器来检查它。

于 2011-09-11T01:06:34.173 回答
0

您的代码使用 gcc 4.6.1 (linux) 编译。

因此,如果有错误,它已被修复。

于 2011-09-11T20:20:43.150 回答