Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QList指针,追加导致运行时错误_C++_Qt_Pointers_Qlist - Fatal编程技术网

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

C++ QList指针,追加导致运行时错误,c++,qt,pointers,qlist,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++){

我需要将项目从一个
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));
}
QList*list1;
QList*list2;
列表1->append(新糖果(“甜的”,1,1));
//糖果是股票的一个子类
对于(inti=0;isize();i++){
列表2->append(列表1->at(i));
}
但是,每次运行上述程序时,我都会出现运行时错误,很可能是seg故障,但我不知道如何验证或修复我的怀疑

我试过:

  • 非QList指针:

    QList<Stock*> list1;
    QList<Stock*> list2;
    
    QList列表1;
    QList列表2;
    
  • 在使用前初始化QList:

    QList<Stock*>* list1 = new QList<Stock*>();
    QList<Stock*>* list2 = new QList<Stock*>();
    
    QList*list1=newqlist();
    QList*list2=新的QList();
    
  • 而不是使用:

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

    仔细想想指针是什么。我猜指针是一个内存地址,但我不知道为什么在向QList添加另一个内存地址时函数会崩溃?@FranB您没有
    QList
    ,这里只有一个带有
    QList*
    类型的悬空指针。返回一个QList而不是QList*是否初始化了list1和list2。。。你知道,就像
    QList*list1=newqlist()
    QList<Stock*> list1;
    QList<Stock*> list2;
    
    list2.append(list1[i]);