c++ - Qt,将数据传递给另一个类
问题描述
当从 mainwindow.cpp 中单击一个按钮时,我想将 int 测试传递给 dialog.cpp。
我收到如下错误消息:“参数测试中缺少默认参数”
我做错了什么?
对话框.h
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = nullptr, const int & testing);
~Dialog();
private:
Ui::Dialog *ui;
};
对话框.cpp
Dialog::Dialog(QWidget *parent, const int & testing) :
QDialog(parent),
ui(new Ui::Dialog)
{
}
主窗口.cpp
dialog = new Dialog(this, *testing);
解决方案
这是无效的:
Dialog(QWidget *parent = nullptr, const int & testing);
因为默认值必须始终在非值之后....所以您的整数参数“测试”不能放在父级之后。
为整数设置默认值:
Dialog(QWidget *parent = nullptr, const int & testing = 0);
或在构造函数中更改其顺序
Dialog(const int & testing, QWidget *parent = nullptr);