IZ
std::function
, который и есть корень проблемы — его нельзя мувать в MSVCSize: a a a
IZ
std::function
, который и есть корень проблемы — его нельзя мувать в MSVCNP
void()
сигнатуры:struct ITask
{
virtual void execute() = 0;
};
template<typename Callable>
struct TaskWrapper : ITask
{
Callable f;
virtual void execute() override { return (void)f(); }
};
ПК
NP
void()
сигнатуры:struct ITask
{
virtual void execute() = 0;
};
template<typename Callable>
struct TaskWrapper : ITask
{
Callable f;
virtual void execute() override { return (void)f(); }
};
ПК
ПК
VF
VF
get_future
у ITask
. А виртуальные функции нельзя делать auto
.VF
unuique_ptr<ITask>
в указатель на нужный packaged_task<_Ret()>
? В чём разница тогда, такой же небезопасный кастПК
get_future
у ITask
. А виртуальные функции нельзя делать auto
.VF
ПК
unuique_ptr<ITask>
в указатель на нужный packaged_task<_Ret()>
? В чём разница тогда, такой же небезопасный кастПК
VF
VF
ПК
ПК
VF
VF
because field '_task' has a deleted copy constructor
, что ожидаемоVF