gpt4 book ai didi

c++ - 使用指针获取函数 C++ 的多个输出

转载 作者:行者123 更新时间:2023-11-30 01:56:42 25 4
gpt4 key购买 nike

我正在尝试使用指针从一个函数中获取多个输出。我传入一个指针(出于初始化目的指向 NULL),该函数填充所述指针并返回其失败/成功值。

在指针传入的函数内部,一切正常。它被初始化。然而,一旦我们走出去,旧值就被丢弃了,它又以某种方式返回了 NULL。

我觉得我应该在这里使用正确数量的星号和符号,但我不太明白。

必填代码:

ID3D11Buffer* Vout;
g_pDxManager->CreateVertexbuffer(&Vout, vertexes); //This isn't getting changed

内部 CreateVertexBuffer()

HRESULT DxManager::CreateVertexbuffer(ID3D11Buffer** out, Vertex3p vertexes [])
{
D3D11_BUFFER_DESC bufferDesc;
bufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bufferDesc.ByteWidth = (sizeof (Vertex3p1c) * 3);
bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
bufferDesc.MiscFlags = 0;
bufferDesc.Usage = D3D11_USAGE_DYNAMIC;

D3D11_SUBRESOURCE_DATA initData;
initData.pSysMem = vertexes;
initData.SysMemPitch = 0;
initData.SysMemSlicePitch = 0;

HRESULT hr = m_pDxDevice->CreateBuffer(&bufferDesc, &initData, (ID3D11Buffer**) &out);
if (hr == S_OK) g_pLogger->log("DxManager::CreateVertexbuffer(): Successful.", 1, false, false);

return hr;
}

最佳答案

HRESULT hr = m_pDxDevice->CreateBuffer(&bufferDesc, &initData, (ID3D11Buffer**) &out);

最后一个参数应该只是out:没有和号,也没有转换。

即上面一行应该是:

HRESULT hr = m_pDxDevice->CreateBuffer(&bufferDesc, &initData, out);

关于c++ - 使用指针获取函数 C++ 的多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com