【问题标题】:Qt, pass data to another classQt,将数据传递给另一个类
【发布时间】:2019-04-16 01:37:30
【问题描述】:

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

【问题讨论】:

  • explicit Dialog(QWidget *parent = nullptr, const int &amp; testing); 您需要从右到左提供默认值。 quora.com/…
  • 测试参数的目的是什么?为什么它通过引用传递单个整数?此参数是否有一些逻辑默认值?
  • 我想从 mainwindow.cpp 向 Dialog.ui 传递数据。

标签: c++ qt qchart


【解决方案1】:

这是无效的:

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

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

为整数设置一个默认值:

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

或者在构造函数中改变它的顺序

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2015-07-09
    • 1970-01-01
    • 2021-10-19
    • 2021-06-11
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多