Шаблон класса packaged_task
не определен для общего случая. Определяется только частичная специализация для параметров типа функции. Смотрите текущий черновик:
template<class> class packaged_task; // undefined
template<class R, class... ArgsTypes>
class packaged_task<R(ArgTypes...)> {
...
void operator()(ArgTypes...);
...
};
Поскольку ваша функция printFn
не принимает никаких параметров и возвращает int
, вам необходимо использовать тип packaged_task<int()>
.