This constructor is an explicit constructor. You need to explicitly call it to compile:
std::pair<int, std::packaged_task<int(void)>>
pair(15, std::packaged_task<int(void)>{ []() -> int { return 15; } });
Or, better yet, use std::make_pair:
auto pair =
std::make_pair(15, std::packaged_task<int(void)>{ []() -> int { return 15; } });
vector , emplace_back value_type. push_back, .