编译错误:在此上下文中无法隐式捕获“ this”

射线

我试图添加一个condition_variable来处理线程,但是在这一行出现编译错误:

this->cv.wait(lk, []{return this->ready;});

看起来像变量this-> ready,“ this”不在正确的范围内。

在Java中,可以使用TestThread.this处理。C++中是否有相同的功能?

void TestThread::Thread_Activity()
    {
        std::cout << "Thread started \n";
        // Wait until ThreadA() sends data
        {
            std::unique_lock<std::mutex> lk(m);
            this->cv.wait(lk, []{return ready;});
        }

        std::cout << "Thread is processing data\n";
        data += " after processing";
        // Send data back to ThreadA through the condition variable
        {
           // std::lock_guard<std::mutex> lk(m);
            processed = true;
           // std::cout << "Thread B signals data processing completed\n";
        }

    }
多发性硬化症

您需要捕获this指针:

this->cv.wait(lk, [this]{return ready;});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Qt5-C ++ 11:在此上下文中不能隐式捕获“ This”

为什么视图绑定和上下文绑定无法检测上下文中存在的隐式

变量定义上下文中的非变量表达式编译错误

错误SQL70001:在此上下文中无法识别此语句

LINQ查询错误:无法创建类型的常量值。在此上下文中仅支持原始类型或枚举类型

Kotlin 编译器显示编译错误并建议“将类型从‘T’更改为‘T”’,而上下文中只有一个 T

隐式转换是否应该在模板参数的上下文中起作用?

突变隐式“上下文”参数

错误:“int XYZ::data”在此上下文中是私有的

Linq更新错误在此上下文中仅支持基本类型或枚举类型

错误:在此上下文中必须知道此值的类型

rust_serialize错误:在此上下文中必须知道此值的类型

Vue watch [fat arrow scope]在此上下文中提供了错误

模式匹配中的错误“此值的类型必须在此上下文中已知”

Kubectl始终返回错误:yaml:在此上下文中不允许映射值

Swift 5 错误:“UIImage”在此上下文中的类型查找不明确

在此上下文中,错误消息“不得重复列名”是什么意思

如何更正matlab错误:在此上下文中不允许使用函数定义

否定参数:“无法解析符号:-x 在此上下文中”

无法在此上下文中创建System.Object常量

无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型

无法创建类型“?”的常量值。在此上下文中仅支持原始类型或枚举类型

为什么 combineLatest 在此上下文中运行但 forkJoin 却无法运行

编译器如何在多捕获上下文中看到异常?

在响应式上下文中捕获函数的标准输出和返回值

什么是致命错误:未捕获错误:在不在对象上下文中时使用$ this?

错误:无法读取输入对象(不是模板?):将YAML转换为JSON时发生错误:yaml:在此上下文中不允许映射值

错误:在此上下文中无法使用属性或索引器“ CharacterStats.currentHealth”,因为无法访问集合访问器

g ++编译错误“ ...受此上下文保护”,而clang没有错误