我有以下 C++ 片段:
#include <iostream>
using namespace std;
class A
{
public:
virtual ~A()
{
}
};
A::~A()
{
}
int main(int argc, char * argv [])
{
return 0;
}
为什么我会收到这些错误?:最佳答案
只需在您的类(class)中使用以下内容
virtual ~A();
代替
virtual ~A()
{
}
编译器实际上是在告诉您这里的问题到底是什么。你有两个实现——一个在你的类中,另一个在它外面
A::~A()
{
}
你不能两者兼得。
关于c++ - 获取虚拟析构函数的重定义错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21480939/