数週間前に私は算術アルゴリズムをコーディングしましたが、スレッドを使用して速度を上げようとしています。私が直面している問題は、関数をスレッドに渡すことです。これは今私が持っているものです。スレッドで関数を改善する
これは、私がエンコードする機能を持つクラスです。私はメイン
vector<thread> t;
ModelI* model = new ModelI;;
clock_t begin = clock();
for (int i = 0;i < 8;i++) {
t.push_back(thread(model->Process,ref(source),ref(target),MODE_ENCODE,bits));//---> Error here
にスレッドを作成する方法
class ModelI
{
public:
ModelI();
void Process(fstream *source, fstream *target, ModeE mode,int bits);
protected:
/*........*/
};
そして、ここで私が手にエラーはありません:「コンストラクタSTDのインスタンス::スレッド::スレッドは、」引数リストと一致しました。 何が間違っていますか?
ありがとうございました。
エラーが発生しました。 'model - > Process'は、この質問を書いている間違いです。コード上にこのようなことはありません。 – Capie
[Start thread from member function](http://stackoverflow.com/questions/10673585/start-thread-with-member-function) – ks1322
実際のエラーメッセージを投稿していただきありがとうございます。将来の参照のために、SOエディタで決して*書く*コードはありません。 *実際の問題が存在するソースから貼り付けて、十分にインクルードしてください*あなたの投稿を取り込み、ソースファイルにダンプしたり、コンパイルしたり、試したり、同じエラーを複製したりすることができます。あなたのエラーとは無関係だが、あなたの目標に関連して、複数のスレッドが同時に使用するファイルストリームを送信することには注意が必要です。その流れに対する同時位置決めおよび操作の問題は、頭に大きな痛みを引き起こす可能性があります。 – WhozCraig