全部
我有一堂课:
class someClass
{
 public:
    vector<int> someOperation(int start, int end)
    {
         // do something...
    }
}
和一个主要功能:
int main()
{
    someClass obj;
    std::packaged_task<vector<int>(int, int)> task(&someClass::someOperation);
    std::thread t1 = std::thread(std::move(task), &obj, 0, 200);   // Error happens here
    std::thread t2 = std::thread(std::move(task), &obj, 201, 400);
    std::thread t3 = std::thread(std::move(task), &obj, 401, 600);
    t1.join();
    t2.join();
    t3.join();
    return 0;
}
我希望这段代码可以创建三个线程,在一条数据的不同部分运行相同的操作。但是,在线程 t1 的定义中,编译器会弹出以下错误:
error C2046: term does not evaluate to a function taking 3 arguments
我可以知道我错了什么,我该如何做对?
提前谢谢了。
长