私は苦労していて、次のコードが機能しない理由を理解しようとしています。
私は3つのクラスを次のように定義しています:
class VertexType
{
public:
VertexType(void) { };
virtual ~VertexType() = 0;
};
class PositionColorVertex
: public VertexType
{
public:
PositionColorVertex(XMFLOAT3 _position, XMFLOAT4 _color)
:Position(_position), Color(_color)
{};
~PositionColorVertex() {};
static const UINT size = 28;
XMFLOAT3 Position;
XMFLOAT4 Color;
};
class PositionVertex
: public VertexType
{
public:
PositionVertex(XMFLOAT3 _position)
:Position(_position)
{};
~PositionVertex() {};
static const UINT size = 12;
XMFLOAT3 Position;
};
アレイの初期化は次の目的で機能します。
PositionVertex vertices[] = { XMFLOAT3(0,0,0) };
しかし、私が初期化しようとすると:
PositionColorVertex vertices[] = {
{ XMFLOAT3(0,0,0), XMFLOAT4(0,0,0,1) } };
エラーが発生しますC2552非集計は初期化子リストで初期化できません。
PositionVertexが機能しているのに、PositionColorVertexが機能していないのはなぜですか?