E:\build-saolei-Desktop_Qt_5_9_0_MinGW_32bit-Debug\ui_choose.h:39: error: multiple definition of `non-virtual thunk to choose::~choose()'
时间: 2024-03-18 21:42:06 浏览: 32
这个错误提示也是在编译C++代码时出现的,它通常是由于定义了多个虚函数表中的同一个函数而导致的。
在你的情况下,可能是因为你在某个头文件中定义了一个析构函数,然后在另一个源文件中重新定义了该析构函数。这会导致编译器无法区分这两个定义,并发生“multiple definition”错误。
为了解决这个问题,你需要在头文件中声明析构函数,并在实现文件中定义它。而不是在头文件中定义它。
例如,你可以在头文件中添加以下声明:
```
class choose : public QMainWindow
{
Q_OBJECT
public:
explicit choose(QWidget *parent = nullptr);
~choose(); // 在头文件中声明析构函数
private:
Ui::choose *ui;
};
```
然后,在实现文件中定义析构函数:
```
#include "choose.h"
#include "ui_choose.h"
choose::~choose() // 在实现文件中定义析构函数
{
delete ui;
}
```
这样,编译器就可以正确处理析构函数,并且不会发生“multiple definition”错误。
相关问题
E:\saolei\mainwindow.cpp:52: error: variable or field 'paintEvent' declared void void MainWindow::paintEvent(QPaintEvent *event) ^
这个错误提示是在编译C++代码时出现的,它指出在MainWindow类的paintEvent函数中定义了一个void变量或字段,但是该函数应该返回一个void值。
这个问题通常是由于缺少函数声明导致的,或者是函数声明与定义之间存在不匹配。在你的情况下,可能是你在MainWindow类中定义了paintEvent函数,但是没有在类定义中声明它。因此,编译器无法识别paintEvent函数的返回类型。
为了解决这个问题,你需要在类定义中声明paintEvent函数,并确保返回类型为void。例如,你可以在MainWindow类的头文件中添加以下声明:
```
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void paintEvent(QPaintEvent *event); // 声明paintEvent函数
private:
Ui::MainWindow *ui;
};
```
然后,在MainWindow类的实现文件中定义paintEvent函数,并确保其返回类型为void。例如:
```
void MainWindow::paintEvent(QPaintEvent *event)
{
// 实现paintEvent函数的代码
}
```
这样,编译器就可以正确识别paintEvent函数的返回类型,从而解决这个错误。
报错:error: resource color/gray (aka com.example.saolei:color/gray) not found.
这个错误通常是因为在你的资源文件(res目录)中没有定义名为"gray"的颜色资源。你可以尝试在你的colors.xml文件中添加以下行:
```xml
<color name="gray">#808080</color>
```
如果你已经在文件中定义了这个颜色资源,请检查一下它的名称是否正确拼写,并且确保在布局文件中引用这个颜色时使用的是正确的名称。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)