• 3609阅读
  • 13回复

[提问]qt创建对象的问题 [复制链接]

上一主题 下一主题
离线ygy9330432
 

只看楼主 倒序阅读 楼主  发表于: 2018-06-01
为什么qt类显示创建栈中对象会报错 如Widget w = Widget();则会报错。
离线never_forget

只看该作者 1楼 发表于: 2018-06-01
额......这个问题,谁教你这么写的?
离线ygy9330432

只看该作者 2楼 发表于: 2018-06-01
教程上说c++有三种方式定义对象 第一种: A a();  第二种: A a = A(); 第三种: A *a = new A; 1和2是相等的。
离线笑颜

只看该作者 3楼 发表于: 2018-06-01
语法上没有任何问题!但是你实现拷贝构造函数了吗?
另外,要公有构造函数!
离线ygy9330432

只看该作者 4楼 发表于: 2018-06-01
回 笑颜 的帖子
笑颜:语法上没有任何问题!但是你实现拷贝构造函数了吗?
另外,要公有构造函数!
 (2018-06-01 18:18) 

拷贝构造函数不是默认有的吗?自己重写的类也没重写复制构造函数这样写也是可以的,就QT类不行
离线笑颜

只看该作者 5楼 发表于: 2018-06-01
回 ygy9330432 的帖子
ygy9330432:拷贝构造函数不是默认有的吗?自己重写的类也没重写复制构造函数这样写也是可以的,就QT类不行 (2018-06-01 18:55) 

你语法基础太差,构造函数是可以弄成私有的,类外调用私有函数就报错!
离线ygy9330432

只看该作者 6楼 发表于: 2018-06-01
回 笑颜 的帖子
笑颜:你语法基础太差,构造函数是可以弄成私有的,类外调用私有函数就报错! (2018-06-01 19:10) 

它没写成私有 压根就没写  大概是这个原因
离线ygy9330432

只看该作者 7楼 发表于: 2018-06-01
回 ygy9330432 的帖子
ygy9330432:它没写成私有 压根就没写  大概是这个原因 (2018-06-01 19:11) 

https://blog.csdn.net/taohe_0/article/details/51296821
离线kaon

只看该作者 8楼 发表于: 2018-06-01
qobject本来就不允许复制
离线笑颜

只看该作者 9楼 发表于: 2018-06-01
回 kaon 的帖子
kaon:qobject本来就不允许复制 (2018-06-01 20:19) 

根本原因就是拷贝构造函数被私有化了!
离线笑颜

只看该作者 10楼 发表于: 2018-06-01
你用vs编译器试试,如果你自己的类没有写拷贝构造函数,就肯定可以通过!gcc编译器tnnd会继承父类的权限
离线笑颜

只看该作者 11楼 发表于: 2018-06-01
还有,你自己加个公有复制构造函数,gcc同样可以通过
离线kaon

只看该作者 12楼 发表于: 2018-06-02
离线yuyu414

只看该作者 13楼 发表于: 2018-06-04
qt元对象系统不允许创建两个一样的qobject类,所以禁止了拷贝构造,你自己写类不要继承qobject就好了
快速回复
限100 字节
 
上一个 下一个