我有一个错误:当使用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)