指针的QList,追加导致运行时错误

时间:2017-03-12 13:26:30

标签: c++ qt pointers qlist

我需要将项目从一个QList附加到另一个QList,几乎就像JS / PHP数组过滤器一样。以下是该功能的要点:

QList<Stock*>* list1;
QList<Stock*>* list2;

list1->append(new Confectionery("Sweet", 1,1));
//Confectionery is a subclass of Stock

for(int i = 0; i < list1->size(); i++){
    list2->append(list1->at(i));
}

但是每次运行上面的操作都会出现运行时错误,很可能是一个段错误,但我不知道如何验证或修复我的怀疑。

我试过了:

  1. 不是QList指针:

    QList<Stock*> list1;
    QList<Stock*> list2;
    
  2. 使用前初始化QLists:

    QList<Stock*>* list1 = new QList<Stock*>();
    QList<Stock*>* list2 = new QList<Stock*>();
    

1 个答案:

答案 0 :(得分:1)

而不是使用:

pip uninstall nose

您应该使用:

QList<Stock*>* list1;
QList<Stock*>* list2;

最后追加你使用:

QList<Stock*> list1;
QList<Stock*> list2;