C++ 线程:尝试使用已删除的函数

C++ Threading : Attempt to use a deleted function

我正在使用 JUCE 框架在 C++ 中制作 MIDI 生成器。 我想在不同的线程中生成,这样它就不会阻塞我的整个程序。 这就是我制作主题的方式:

    std::thread generationThread (&MainContentComponent::generateProgression,var1, var2);

generateProgression 是基于 var1(整数)和 var2(布尔)生成 MIDI 的函数

线程是在 MainContentComponent class 中创建的,generateProgression 是 class 的一个函数。

问题是我收到一个编译错误:"Attempt to use a deleted function"。 谁能告诉我我做错了什么?

不知道为什么我对这个有这么多反对票。 幸运的是,我的一个朋友告诉我出了什么问题。 我还需要提供当前的上下文。 由于线程是在还包含函数的 class 中创建的,因此上下文可以是 "this".

    std::thread(&Fooclass::fooMainloopMemberFunction, context, argument);

或者在我的情况下

    std::thread generationThread (&MainContentComponent::generateProgression,this,var1, var2);