gpt4 book ai didi

c++ - 获取虚拟析构函数的重新定义错误

转载 作者:太空狗 更新时间:2023-10-29 20:04:13 24 4
gpt4 key购买 nike

我有以下 C++ 片段:

#include <iostream>

using namespace std;

class A
{
public:
virtual ~A()
{
}
};

A::~A()
{

}

int main(int argc, char * argv [])
{
return 0;
}

为什么会出现这些错误?:

error: redefinition of 'A::~A()' A::~A()

error: 'virtual A::~A()' previously defined here

 virtual ~A()**

最佳答案

只需在您的类里面使用以下内容

virtual ~A();

代替

virtual ~A()
{
}

编译器实际上是在告诉你问题出在哪里。你有两个实现 - 一个在你的类中内联,另一个在类外

A::~A()
{

}

你不能两者兼得。

关于c++ - 获取虚拟析构函数的重新定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21480939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com