Я не могу понять, как создать следующее:
std::pair<std::atomic<bool>, int>
Я всегда получаю
/ usr / include / c ++ / 5.5.0 / bits / stl_pair.h: 139: 45: ошибка: использование удаленной функции 'std :: atomic :: atomic (const std :: atomic &)'
: первая (__x), вторая (std :: forward <_U2> (__y)) {}
Я пробовал
std::pair<std::atomic<bool>, int> pair = std::make_pair(true, 1); //doesn't work
std::pair<std::atomic<bool>, int> pair = std::make_pair({true}, 1); //doesn't work
std::pair<std::atomic<bool>, int> pair = std::make_pair(std::atomic<bool>(true), 1); //doesn't work
std::pair<std::atomic<bool>, int> pair = std::make_pair(std::move(std::atomic<bool>(true)), 1); //doesn't work
Я знаю, что std :: atomic не подлежит копированию, так как вы должны создать его в паре? Разве это просто невозможно?