0

正如标题所示,我在此片段的内容中收到此错误:

class NewTaskDialog : public QDialog

它之前工作得很好,但是当我添加方法时开始出现错误:

void MainWindow::saveButtonClicked(NewTaskDialog dialogWindow)
4

2 回答 2

0

请改用指向 QDialog 的指针。QDialog 类将复制构造函数定义为私有,以尝试阻止您按值传递 QDialog,因为您永远不应该这样做。

c++中私有复制构造函数有什么用

于 2012-12-06T20:06:11.390 回答
0

您的语法创建了传递给它saveButtonClicked的副本。您不能复制 QWidgets,除非您创建一个明确提供您所寻求的确切功能的克隆函数。QWidget 的构造函数是私有的。NewTaskDialog

你必须传递一个指针

void MainWindow::saveButtonClicked(NewTaskDialog* dialogWindow)

或参考。使用指针是标准的 Qt 方式。

于 2012-12-06T20:53:43.070 回答