【发布时间】:2014-10-11 16:13:55
【问题描述】:
我在类构造函数中初始化 QVector 时遇到问题。这是我的头文件中的行:
QVector<Person *> p;
这是我的构造函数中的行:
this->p = new QVector<Person *>();
这是错误:
Error: no match for 'operator=' (operand types are 'QVector<Person*>' and 'QVector<Person*>*')
this->p = new QVector<Person *>();
^
我不知道是什么问题。
【问题讨论】:
-
停止编写 Java。在 C++ 中,
new用于动态内存分配,而不是通用对象创建。就此而言,对象的创建发生在构造函数的初始化列表中,而不是它的主体中。
标签: c++ qt constructor header qvector