gpt4 book ai didi

c++ - 表达式必须是左值

转载 作者:太空宇宙 更新时间:2023-11-04 14:04:48 25 4
gpt4 key购买 nike

有很多这样的问题,但在我的案例中,通过这些问题并没有解决问题。

PSSetShaderResources 作为第三个参数需要 ID3DShaderResourceView* const*

所以我不能这样做(因为我收到左值错误):

// std::unique_ptr<Texture> mTexture;
// ID3D11ShaderResourceView* Texture::getTexture() const {
// return mTexture;
// }

deviceContext->PSSetShaderResources( 0U, 1U, &mTexture->getTexture() );

这就是为什么我找到了一种方法来做到这一点:

auto tex = mTexture->getTexture();
deviceContext->PSSetShaderResources( 0U, 1U, &tex );

但是,我想去掉 auto tex = ... 行。 是否有可能更改 getTexture() 方法(或不更改它)以像​​第一种情况那样编写?

最佳答案

好的,我已经通过将 getTexture() 方法更改为解决了这个问题:

ID3D11ShaderResourceView* const* Texture::getTexture() const {
return &mTexture.p; // this is a CComPtr<ID3DShaderResourceView> mTexture;
}

关于c++ - 表达式必须是左值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510733/

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