У меня возникают проблемы подсчета элементов массива после прохождения его в arguementне может рассчитывать элементы массива после прохождения в качестве аргумента
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);
Таким образом, в двух словах, Могу ли я передача массива прямо как arguement, что я делаю неправильно, где я не могу получить правильное количество элементов массива.
Вам нужно решить, на каком языке вы работаете, чтобы люди могли ответить на вопрос соответствующим образом. C не C++ и не наоборот. –
кажется более C++, так как 'XYZ :: ABC' stuff – ShinTakezou