为什么初始化列表不移动元素?

时间:2017-06-01 10:03:29

标签: c++ c++11 initializer-list

我很惊讶地发现这个简单的例子不能编译:

#include <memory>
#include <vector>
#include <array>
using vt = std::vector<std::unique_ptr<int>>;
using at = std::array<std::unique_ptr<int>,1>;
int main(){
    auto a = at{std::make_unique<int>(10)}; //compile fine
    auto v = vt{std::make_unique<int>(10)}; //error
}

为什么没有矢量构造函数作为参数类型initializer_list<T>&&

0 个答案:

没有答案