    #include <functional>

    template <class T, class... A>
    void foo(T&& func, A&&... args) {
        std::function<void()> task([func, args...] () {
            //...
        });
    }

    int main()
    {

    }
