我有一堂课
class ListOfControllers
{
public:
ListOfControllers();
~ListOfControllers();
QList<RmgController> rmgControllers;
qjsonobject toJson() const;
void fromJson(qjsonobject obj);
};
在fromJson
中,我想读取一个json并填写QList<RmgController> rmgControllers
:
void ListOfControllers::fromJson(qjsonobject obj)
{
.
.
.
rmgControllers.clear();
for (...)
{
RmgController rmg;
rmg.fillWithValues();//fill the object with values from json
rmgControllers.push_back(rmg);
//at this point the DESTRUCTOR of RmgController is being called and the filled values CLEARED
}
}
当我离开对象创建范围时,RmgController的析构函数将引发并清除所有填充值,因此List(rmgControllers)包含一些具有默认值的对象,而不是从json读取的值。