How to initialize C++17 vector of pairs with optional element
You are looking for std::nullopt
instead of nullptr
.
std::vector<std::pair<int, std::optional<bool> > > vec1 =
{ {1, true}, {2,false}, {3,std::nullopt} };
Or simple use default construction:
std::vector<std::pair<int, std::optional<bool>>> vec1 {
{1, true}, {2,false}, {3,{}}
};