diff --git a/src/UtilsCtrl/ThreadPool/Task/UTask.h b/src/UtilsCtrl/ThreadPool/Task/UTask.h index e29b317..956eba2 100644 --- a/src/UtilsCtrl/ThreadPool/Task/UTask.h +++ b/src/UtilsCtrl/ThreadPool/Task/UTask.h @@ -11,6 +11,7 @@ #include #include +#include #include "../UThreadObject.h" @@ -23,10 +24,10 @@ class UTask : public UThreadObject { virtual ~taskBased() = default; }; - template + template::type> struct taskDerided : taskBased { - F func_; - explicit taskDerided(F&& func) : func_(std::move(func)) {} + T func_; + explicit taskDerided(F&& func) : func_(std::forward(func)) {} CVoid call() override { func_(); } };