Qt C++析构函数错误
Qt C++ destructor error
我有一个关于继承类析构函数的问题:
我有一个父类几何:
Geometry.h:
#ifndef GEOMETRY_H
#define GEOMETRY_H
#include <QDialog>
class Geometry : public QDialog
{
Q_OBJECT
public:
explicit Geometry(QWidget *parent = 0);
virtual ~Geometry() {}
};
#endif // GEOMETRY_H
和
Geometry.cpp
#include "Geometry.h"
#include "ui_Geometry.h"
Geometry::Geometry(QWidget *parent) :
QDialog(parent) { }
当我将几何.h 更改为
virtual ~Geometry() ;
并将以下内容添加到几何图形中.cpp
Geometry::~Geometry(void)
{
// ...
}
我收到错误"几何的多重定义::~几何()"
你能告诉我为什么我会收到这个错误吗?我可以把代码放在.cpp文件中,不是吗?
你有这个,它是析构函数的完整实现:
virtual ~Geometry() {}
然后你添加这个,这也是析构函数的完整实现:
Geometry::~Geometry(void)
{
// ...
}
因此,您收到的错误。
要解决此问题,请从头文件中的空大括号中删除:
virtual ~Geometry();
编辑:我看到您进行了更改,因此您很可能没有使用更新的标头重建整个应用程序。
相关文章:
- 不命名构造函数和析构函数上的类型错误
- 导致 Seg 错误的 SingleLinkedList 的析构函数
- LINUX 操作系统上的错误:令牌之前预期的构造函数、析构函数或类型转换'('?
- 矢量擦除调用的错误析构函数
- 在析构函数中调用"delete"运算符时"compiler is out of heap space"编译器错误
- 在Visual Studio中,与std::async一起使用时不调用"thread_local"变量"析构函数,这是一个错误吗?
- 导致堆缓冲区错误的动态分配数组的析构函数
- 非默认析构函数会导致不完整的类型错误
- 析构函数删除错误的元素
- 使用自定义工具集获取动态退出析构函数链接错误 - eh 矢量析构函数
- 使用 boost::thread 运行函子,但析构函数被错误地调用
- 错误 c++ 在令牌之前'('预期的构造函数、析构函数或类型转换
- 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换.即使我有一个构造函数
- 模板类中的析构函数给出错误
- 在析构函数内取消引用指针时出现分段错误
- 模板化子类析构函数中的隔离错误
- GCC 9.1 返回 void& 作为显式析构函数调用的结果类型。这是一个错误吗?
- 获取错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- 显式调用类的析构函数时出现错误
- C++析构函数调用了错误的对象