C ++菜鸟在这里。
因此,这是我的class DbHelper
的成员函数:
QSqlQueryModel* getCourses();
现在,每当我在class MyModel
是成员的QSqlQueryModel courses
中这样做时,
this->courses = *(dbHelper->getCourses()); // problem here ... this is inside a member function of MyModel
Visual Studio说
功能...无法引用运算符= ...已删除 功能
我当然可以这样做:
QSqlQueryModel* q = dbHelper->getCourses();
this->courses = *q;
但是我认为声明另一个变量只是为了取消引用可能是多余的。有没有更短的方法?
编辑:
只需通过VS进行验证,结果我真的不能。在整个下午学习指针和参考时,我的想法真的变得一团糟。谢谢大家。
答案 0 :(得分:5)
QSqlQueryModel
类的作者很可爱,并且聪明地禁止复制该对象的实例。
该类成员应为指针类型:
QSqlQueryModel* courses;
因为文档指出您不拥有与指针关联的内存。然后您进行简单设置
this->courses = dbHelper->getCourses();