Qt, передача данных в другой класс

#c #qt #qchart

#c #qt #qchart

Вопрос:

Я хочу передать 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 amp; testing);
    ~Dialog();

private:
    Ui::Dialog *ui;
};
 

dialog.cpp

 Dialog::Dialog(QWidget *parent, const int amp; testing) :
    QDialog(parent),
    ui(new Ui::Dialog)
{   
}
 

mainwindow.cpp

 dialog = new Dialog(this, *testing);
 

Комментарии:

1. explicit Dialog(QWidget *parent = nullptr, const int amp; testing); вам нужно указать значение по умолчанию справа налево. quora.com /…

2. Какова цель параметра тестирования? Почему он передается по ссылке для одного целого числа? Существует ли какое-либо логическое значение по умолчанию для этого параметра?

3. Я хочу передать данные в диалоговое окно. пользовательский интерфейс из mainwindow.cpp .

Ответ №1:

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

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

потому что значения по умолчанию всегда должны быть после не-единиц…. таким образом, ваш целочисленный параметр «testing» не может быть помещен после parent.

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

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

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

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