将成员函数传递给 std::thread [重复]

2024-04-02

可能的重复:
使用成员函数启动线程 https://stackoverflow.com/questions/10673585/start-thread-with-member-function

我最近一直在使用 c++11 中的新 std::thread 库,遇到了一个问题。当我尝试将类函数传递到新线程时,它给了我一个错误(因为我不在家,所以我现在没有确切的错误文本) 我有过这样的课

class A
{
    void FunctA();
    void FunctB();

    void run()
    {
        std::thread t(FunctA);
        std::thread r(FunctB);
    }
}

我究竟做错了什么?


class A
{
    void FunctA();
    void FunctB();

    void run()
    {
        std::thread t(&A::FunctA, this);
        std::thread r(&A::FunctB, this);
    }
};

指向成员函数的指针与指向函数的指针不同,调用它们的语法也不同,并且需要类的实例。您可以将指向实例的指针作为第二个参数传递std::thread构造函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将成员函数传递给 std::thread [重复] 的相关文章

随机推荐