1

当从 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);
4

1 回答 1

2

这是无效的:

Dialog(QWidget *parent = nullptr, const int & testing);

因为默认值必须始终在非值之后....所以您的整数参数“测试”不能放在父级之后。

为整数设置默认值:

Dialog(QWidget *parent = nullptr, const int & testing = 0);

或在构造函数中更改其顺序

Dialog(const int & testing, QWidget *parent = nullptr);
于 2019-04-16T05:26:57.033 回答