如何在c ++中使用指向另一个类的线程

时间:2010-10-09 07:00:51

标签: c++ boost-thread

我需要在另一个类文件中使用该函数作为线程

int main()
{
master t;

boost::thread t1(boost::bind(t.start, "exampl"));

t1.join();
}

我有一个班级master和一个函数start ..我需要传递一个值并运行 我在同一个班级使用它,它工作正常......任何人都可以告诉我我错在哪里

2 个答案:

答案 0 :(得分:7)

您需要将成员函数绑定到实例:

boost::thread t1(boost::bind(&master::start, t, "exampl"));

答案 1 :(得分:0)

James的解决方案将复制您的主对象。如果你想按引用排序,那么

boost::thread t1(boost::bind(&master::start, &t, "exampl"));

HTH