문제

다음 코드에서 제목에 오류가 발생합니다.

  std::vector<short> GetIndicesFromID3DXMesh(ID3DXMesh* model)
{
    //LPVOID * ppData;
    DWORD stride = sizeof(short);
    BYTE* ibptr = NULL;

    short* indices = new short[model->GetNumFaces() * 3];

    std::vector<short> copy;

    model->LockIndexBuffer(0, (LPVOID*)&indices);

    for(size_t i = 0; i < model->GetNumFaces() * 3; i++)
    {
        copy.push_back(indices[i]);
    }

    model->UnlockIndexBuffer();

    delete []indices;
    return copy;
}

라인 삭제 [] 지수에서

왜 내가 그것을 얻는 지 모르겠다. 어떻게 얻는 지 모르겠다. 나는 그것을 얻을 수 없습니까?

도움이 되었습니까?

해결책

지수에 공간을 할당하지 마십시오. DirectX는 할당을 수행 한 다음 잠금 해제를 호출 할 때 해방됩니다.

short* indices = NULL;
model->LockIndexBuffer(0, (LPVOID*)&indices);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top