Qt, передать данные в другой класс - PullRequest
1 голос
/ 16 апреля 2019

Я хочу передать тестирование int в dialog.cpp при нажатии кнопки из mainwindow.cpp.

Я получил следующее сообщение об ошибке: «отсутствует аргумент по умолчанию при тестировании параметра»

Что я сделал не так?

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);

1 Ответ

2 голосов
/ 16 апреля 2019

это недопустимо:

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

, потому что значения по умолчанию всегда должны быть после ненулевых .... поэтому ваш целочисленный параметр "testing" нельзя поместить после родительского.

doустановить значение по умолчанию для целого числа:

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

или изменить его порядок в конструкторе

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