Qt,将数据传递给另一个class
Qt, pass data to another class
我想在从 mainwindow.cpp 单击按钮时将 int 测试传递给 dialog.cpp。
我收到如下错误信息:"missing default argument on parameter testing"
我做错了什么?
dialog.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;
};
dialog.cpp
Dialog::Dialog(QWidget *parent, const int & testing) :
QDialog(parent),
ui(new Ui::Dialog)
{
}
mainwindow.cpp
dialog = new Dialog(this, *testing);
这是无效的:
Dialog(QWidget *parent = nullptr, const int & testing);
因为默认值必须始终在非值之后....所以您的整数参数 "testing" 不能放在父级之后。
为整数设置默认值:
Dialog(QWidget *parent = nullptr, const int & testing = 0);
或者在构造函数中改变它的顺序
Dialog(const int & testing, QWidget *parent = nullptr);
我想在从 mainwindow.cpp 单击按钮时将 int 测试传递给 dialog.cpp。
我收到如下错误信息:"missing default argument on parameter testing"
我做错了什么?
dialog.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;
};
dialog.cpp
Dialog::Dialog(QWidget *parent, const int & testing) :
QDialog(parent),
ui(new Ui::Dialog)
{
}
mainwindow.cpp
dialog = new Dialog(this, *testing);
这是无效的:
Dialog(QWidget *parent = nullptr, const int & testing);
因为默认值必须始终在非值之后....所以您的整数参数 "testing" 不能放在父级之后。
为整数设置默认值:
Dialog(QWidget *parent = nullptr, const int & testing = 0);
或者在构造函数中改变它的顺序
Dialog(const int & testing, QWidget *parent = nullptr);