0

何らかの理由で、ポインターの場合、配列にデータを格納できません。ポインターにならないようにすると完全に機能しますが、可変量を保持する配列が必要なので、ポインターでなければなりません。これが私のコードです。この配列が一度に複数の頂点を格納しないのはなぜですか?

MVertex* Vertices = new MVertex[VertexCount];
//MVertex Vertices[4];
string LDum;
getline(Input, LDum);
for (int i = 0; i < 4; i++)
{
    MVertex V;
    string Line;
    getline(Input, Line);
    istringstream ISS(Line);
    string X, Y, Z;
    ISS >> X >> Y >> Z;
    V.X = atoi(X.c_str());
    V.Y = atoi(Y.c_str());
    V.Z = atoi(Z.c_str());
    Vertices[i] = V;
}
Input.close();
GraphicsDevice->CreateVertexBuffer(4 * sizeof(MVertex), 0, MFVF,
    D3DPOOL_MANAGED, &MVertexBuffer, NULL);
VOID* pVoid;
MVertexBuffer->Lock(0, 0, (void**)&pVoid, 0);
memcpy(pVoid, Vertices, sizeof(Vertices));
MVertexBuffer->Unlock();
int Size = sizeof(Vertices);
delete[] Vertices;
4

2 に答える 2