gpt4 book ai didi

c++ - 在静态函数的 lambda 中捕获相当于 'this' 的值

转载 作者:行者123 更新时间:2023-11-28 00:21:02 25 4
gpt4 key购买 nike

我有一个看起来像这样的类:

class MyClass {
static Microsoft::WRL::ComPtr<ID3D11VertexShader> vertexShader;
static void Setup(Device* device) {
auto createVSTask = loadVSTask.then([this, device]() {
DX::ThrowIfFailed(
device->CreateVertexShader(&vertexShader));
}
}

我不能在 lambda 中使用 this 因为函数是静态的。我应该改用什么?

最佳答案

您不需要this 指针来访问静态方法或变量。只需从您的捕获列表中删除 this,代码就会起作用。

static void Setup(Device* device) {
auto createVSTask = loadVSTask.then([device]() {
DX::ThrowIfFailed(
device->CreateVertexShader(&vertexShader));
}

关于c++ - 在静态函数的 lambda 中捕获相当于 'this' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466199/

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