尝试使简单的代码工作:
std::thread threadFoo;
std::thread&& threadBar = std::thread(threadFunction);
threadFoo = threadBar; // thread& operator=( thread&& other ); expected to be called
收到错误:
使用已删除的函数 'std::thread& std::thread::operator=(const std::thread&)'
我明确定义threadBar
为右值引用,而不是普通的。为什么没有调用预期的运算符?如何将一个线程移动到另一个线程?
谢谢!