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

コードはgcc4.6.1(linux)でコンパイルされます。

したがって、バグがあった場合は修正されています。

于 2011-09-11T20:20:43.150 に答える