首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:'QDialog::QDialog(const QDialog&)‘是私有的

错误:'QDialog::QDialog(const QDialog&)‘是私有的
EN

Stack Overflow用户
提问于 2012-12-07 03:06:53
回答 2查看 841关注 0票数 0

就像标题一样,我在这个代码片段的内容中得到了这个错误:

代码语言:javascript
运行
复制
class NewTaskDialog : public QDialog

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

代码语言:javascript
运行
复制
void MainWindow::saveButtonClicked(NewTaskDialog dialogWindow)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-07 04:53:43

您的saveButtonClicked语法创建了一个传递给它的NewTaskDialog的副本。You can't copy QWidgets,除非您创建的克隆函数显式提供了所需的确切功能。QWidget的构造函数是私有的。

您必须传递一个指针

代码语言:javascript
运行
复制
void MainWindow::saveButtonClicked(NewTaskDialog* dialogWindow)

或者是推荐人。使用指针是标准的Qt方式。

票数 0
EN

Stack Overflow用户

发布于 2012-12-07 04:06:11

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

What's the use of the private copy constructor in c++

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13750711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档