这不会编译,因为采用大小(例如vector::vector( size_t )
之类的构造函数)是explicit
:
constexpr auto n = 16;
std::vector< std::unique_ptr< int > > v[ 2 ]{ { n }, {} };
那么我该如何使用v[ 0 ]
个默认构造元素初始化n
并将v[ 1 ]
留空?
答案 0 :(得分:0)
您可以显式构造临时对象,例如
std::vector< std::unique_ptr< int > > v[ 2 ]{ std::vector< std::unique_ptr< int > >{ n }, {} };