2011-01-25 14 views
2
class accel{ 
public: 
    accel(int threads, string params); 

private: 
    void getfile(int from, int to); 
    void download(int threads); 
}; 


void accel::download(int threads){ 
    boost::thread g(&getfile(0, 1)); //<<<< 
} 

'&'にI値が必要です。私は例でこれをやっている。それを動作させるには?ブースト。マルチスレッド

答えて

6
boost::thread g (boost::bind(&accel::getfile, this, 0, 1)); 
+0

そして、他のスレッドが閉じる前に他のスレッドが閉じられるのを待つ方法を教えてください。ミューテックス? – gemexas

+0

@gemexas:新しい質問をする。 – Puppy

2

getfile戻りvoid - あなたがタイプvoidの変数のアドレスを取得しようとしています。それは全く意味をなさない。バインドされた関数オブジェクトを使用する必要があります。boost :: bindをチェックしてください。