向量元素类型不能同时具有析构函数和不可复制成员

时间:2018-09-16 05:11:22

标签: c++

我有一个向量,其元素类具有不可复制的成员。现在,我想向此类添加析构函数。但是编译器抱怨:“调用了'TestClass'的隐式删除副本构造函数”。这是示例代码:

    struct TestClass
    {
       TestClass(int a){}
       ~TestClass() = default; // Will pass the compile if this line is removed
       std::unique_ptr<int> data_;
    };

    int main() {
      std::vector<TestClass> test;
      test.emplace_back(100);
      return 0;
    }

请问带有或不带有析构函数的类有什么区别?

0 个答案:

没有答案