инициализация в lambda capture через std::move вполне себе работает и в последующем конструировании std::function из этой лямбды тоже вызывается только конструктор перемещения. Однако если в дело вступает std::promise http://cpp.sh/4rtlp , то все ломается и упирается в отсутствие у него конструктора копирования. Подскажите пожалуйста, как это победить?
https://en.cppreference.com/w/cpp/utility/functional/function/function The program is ill-formed if the target type is not copy-constructible or initialization of the target is ill-formed.
засунь его в shared_ptr
Обсуждают сегодня