Qt开发 error C2248: “QObject::QObject”: 无法访问 private 成员(在“QObject”类中声明)

  • A+
所属分类:Qt专栏 Qt经验集

Qt开发 error C2248: “QObject::QObject”: 无法访问 private 成员(在“QObject”类中声明)

原理:QObject取消了c++默认生成拷贝构造函数和赋值运算函数,也就是说,一旦这个类继承自QObject,则由这个类建立的对象不能拷贝和赋值

解决方法:

1、不让这个类集成QObject

2、采用指针进行赋值

     例如:QPushButton是继承自QObject的,因此也不能直接拷贝和赋值

                    QPushButton *bt_a = new QPushButton();

                    QPushButton *bt_b;

                      bt_b = bt_a;

3、自己重新编写拷贝构造、赋值运算符和默认构造函数

Qt大课堂-QtShare

发表评论

您必须登录才能发表评论!