私のクラスMainWindow
(これはQtプロジェクト)の一部ではない関数を書く必要がありますスレッド内ではMainWindow
のメンバーを使用する必要があります。ここで私が書いたコードは次のとおりです。'this'のメンバの参照をstd :: threadのパラメータに渡す
void nameChange(TMAPI *tmapi) {
tmapi->writeString(0x001bbbc2c, qPrintable(n));
}
void MainWindow::on_button_clicked() {
std::thread id(nameChange, this->tmapi);
id.join();
}
私は(彼らはファイル<functional>
内のコードの異なる行に同じエラーが、ポイントです)このことから2つのエラーを取得:
error: no type named 'type' in 'class std::result_of<void (*(TMAPI))(TMAPI*)>
ようnameChange
を呼び出しますこれは動作しているようです:
TMAPI tmapi;
std::thread id(nameChange, &tmapi);
どのように私は、現在のオブジェクトの(this
年代)に渡す場所を作業する最初の方法を得ることができますトンのインスタンスmapi?ありがとう。
をそれはTMAPI、ノーポインタです。 –
ああ、あなたは私を持っています。パラメータを '&this-> tmapi'に変更しました。ありがとう! –