1

我需要将另一个类文件中的函数用作线程

int main()
{
master t;

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

t1.join();
}

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

4

2 回答 2

7

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

boost::thread t1(boost::bind(&master::start, t, "exampl"));
于 2010-10-09T07:05:33.130 回答
0

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

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

高温高压

于 2010-10-09T15:57:05.257 回答