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"));

HTH

于 2010-10-09T15:57:05.257 に答える