2009年6月26日星期五

boost::thread和boost::bind的用法

本来我是这么用的:
class A{
public:
    void do_something(int a){
        cout<<a<<endl;
    }
};

A a1;
A a2;
boost::thread t1(boost::bind(&A::do_something, a1, 1));
boost::thread t1(boost::bind(&A::do_something, a2, 2));

但是这段代码在MinGW g++ 3.4.5上面怎么也编不过.

换个用法:
class A{
    void do_something(int a){
        boost::thread t1(boost::bind(&A::do_something, this, a));
        t1.join();
    }
};
A a1,a2;
a1.do_something();
a2.do_something();
这样写就ok,奇怪,到底是哪个参数写错了?? --
caosuwei

没有评论: