我有一个向量,其元素类具有不可复制的成员。现在,我想向此类添加析构函数。但是编译器抱怨:“调用了'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;
}
请问带有或不带有析构函数的类有什么区别?