将数组元素传递给争论后,我在计算数组元素时遇到问题
void GXDX::LoadMesh(GXVector vertices[], UINT indices[] = NULL)
{
D3D10_BUFFER_DESC bufferDesc;
UINT numVerts = sizeof(vertices)/sizeof(GXVector);
bufferDesc.Usage = D3D10_USAGE_DEFAULT;
bufferDesc.ByteWidth = sizeof(GXVector) * numVerts;
bufferDesc.BindFlags = D3D10_BIND_VERTEX_BUFFER;
bufferDesc.MiscFlags = 0;
bufferDesc.CPUAccessFlags = 0;
code..............
}
在上面的以下行中
UINT numVerts = sizeof(vertices)/sizeof(GXVector);
我正在尝试计算数组变量顶点中的元素数。但我没有得到准确的计数,如果没有的话。
当我逐步完成时,我注意到我无法看到数组中的所有值,只能看到数组的第一个值。
所以我不确定我是否正确地传递了数组作为争论。在另一个应用程序中,我做了同样的事情,我能够看到逐步完成的所有值。我像这样传递数组。
GXVector vertices[] = { {D3DXVECTOR3(0.5f, 0.5f, 0.5f)},
{D3DXVECTOR3(0.5f, -0.5f, 0.5f)},
{D3DXVECTOR3(-0.5f, -0.5f, 0.5f)},
{D3DXVECTOR3(-0.5f, -0.5f, 0.5f)},
{D3DXVECTOR3(-0.5f, 0.5f, 0.5f)},
{D3DXVECTOR3(0.5f, 0.5f, 0.5f)},
};
UINT indices[] = {0,1,2,3,4};
GXRenderManager::Device()->LoadMesh(vertices, indices);
所以简而言之,我是否将数组作为论据正确传递,我做错了什么,我无法获得数组的正确元素计数。