0

マルチスレッドおよびマルチファイル プロジェクトで問題が発生しています。単一ファイル プロジェクトでテストする場合は正常に動作しますが、ヘッダーを実装から分離したままにしようとしているため、これを機能させる方法はありますか?

私が得ているエラーは次のとおりです。エラー C3867: 'class1::Update': function call missing argument list; '&class1::Update' を使用してメンバーへのポインターを作成します

残念ながら、そこにある提案は機能しません。どんな助けでも大歓迎です。

Class1.H

class class1
{
public:
    class1();
    ~class1();


private:
    thread sThread;
    void Update();
};

Class1.cpp

int class1::Initialize()
{
    this->sThread = std::thread(Update);
}
4

1 に答える 1

1

あなたが言うように、エラーは次のとおりです。

'class1::Update': function call missing argument list; use '&class1::Update' to create a pointer to member

そうしてください。std::bind()一度実行すると、クラスのインスタンスをメンバー関数にアタッチするために使用する必要があることがわかります。それは次のようになります。

thread(bind(&class1::Update, this))
于 2013-04-27T04:03:11.750 に答える