gpt4 book ai didi

c++ - 类中成员函数声明的问题

转载 作者:行者123 更新时间:2023-11-30 05:11:46 27 4
gpt4 key购买 nike

一段时间以来,我一直在与 Qt 上的一个问题作斗争,我想我应该来这里看看是否有人有任何解决方案。

我已经使用 QT 工具创建了一个 GUI,并为每个事物编写了所有功能。但是,我似乎无法成功纠正以下问题:

C:\Python34\2SprayCoater\mainwindow.cpp:11: error: no 'int mainwindow::MainWindow(QWidget*)' member function declared in class 'mainwindow' mainwindow::MainWindow(QWidget *parent):QMainWindow(parent)

相关库中的部分代码是:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class mainwindow : public QMainWindow
{
Q_OBJECT

public:
explicit mainwindow(QWidget *parent = 0);
~mainwindow();

而cpp文件中对这段代码的引用是:

#include "mainwindow.h"
#include <QApplication>

#include "main.cpp"
#include <QtSerialPort/QSerialPort>
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>



mainwindow::MainWindow(QWidget *parent):QMainWindow(parent)

{
ui.setupUi(this);
}

我试图通过简单地更改 explicit 来解决这个问题

mainwindow(QWidget *parent = 0);

在头文件中

explicit mainwindow(QWidget *parent = 0):QMainWindow(parent);

这最终会造成一系列不同的问题,但会修复原始问题。我错过了什么?提前致谢。

最佳答案

问题的产生是因为您删除了一些必要的 header ,例如:

#include "ui_mainwindow.h"

这是由 .ui 文件生成的,即在编译之前将设计转换为代码。 ui 属性需要该文件,而且 ui 是一个指针,因此要访问它的方法,您必须使用 ->。你必须改变:

ui.setupUi(this);

ui->setupUi(this);

另一个严重的问题是您在构造函数中将 mainwindow 重命名为 MainWindow。

explicit mainwindow(QWidget *parent = 0);

mainwindow::MainWindow(QWidget *parent):QMainWindow(parent)
[here]

关于c++ - 类中成员函数声明的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44909346/

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