小编Che*_*hen的帖子

vector <unique_ptr <A >>使用初始化列表

我有一个错误:当使用c ++ -std = c ++ 14 unique_ptr_vector.cpp -o main编译类似于下面的代码时, 调用隐式删除的'std :: __ 1 :: unique_ptr>'的复制构造函数

这是一个简化版本:

头文件'my_header.h':

#include <iostream>
#include <string>
#include <memory>
#include <vector>

class A{
public:
    A() : n(0) {}
    A(int val) : n(val) {} 
    A(const A &rhs): n(rhs.n) {}
    A(A &&rhs) : n(std::move(rhs.n)) {}
    A& operator=(const A &rhs) { n = rhs.n; return *this; }
    A& operator=(A &&rhs) { n = std::move(rhs.n); return *this; }
    ~A() {}

    void print() const { std::cout << "class …
Run Code Online (Sandbox Code Playgroud)

c++ containers constructor unique-ptr c++11

3
推荐指数
1
解决办法
1238
查看次数

标签 统计

c++ ×1

c++11 ×1

constructor ×1

containers ×1

unique-ptr ×1