重複の可能性:
メンバー関数でスレッドを開始します
私はC++に非常に慣れていません。私の経験は主にjavascriptとjavaでした。
私はLionでXcodeを使用しています。次のコードは、コンパイルエラーを表示します。「非静的メンバー関数への参照を呼び出す必要があります。引数なしで呼び出すつもりでしたか?」
class MyClass {
private:
void handler() {
}
public:
void handleThings() {
std::thread myThread(handler);
}
};
this->handler
、、およびその他のバリエーションも試し&handler
ましたが、どれも機能しませんでした。このコードはコンパイルされ、私が望むことを達成します。
class MyClass {
private:
void handler() {
}
public:
void handleThings() {
std::thread myThread([this]() {
handler();
});
}
};
メンバー関数への参照を渡せないのはなぜですか?私の回避策は最善の解決策ですか?