シンプルなコードを試してみてください:
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
通常の参照ではなく、右辺値参照として明示的に定義します。予想される演算子が呼び出されないのはなぜですか? あるスレッドを別のスレッドに移動するにはどうすればよいですか?
ありがとうございました!