Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.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++ 将值推入由getter函数调用的列表时出现问题_C++_Class_C++11_Queue_Getter - Fatal编程技术网

C++ 将值推入由getter函数调用的列表时出现问题

C++ 将值推入由getter函数调用的列表时出现问题,c++,class,c++11,queue,getter,C++,Class,C++11,Queue,Getter,我试图将一个值推送到列表中。我的列表在一个包含许多列表的类中,该类包含一个函数getListint,该函数接受一个整数并返回它所表示的列表。e、 g getList6将返回列表g。包含所有列表的类称为z。但是,当我尝试使用以下命令推送值时:z.getList6.pushvalue; 它不会将其推入G。如何编写一行,将值推入正在使用getter函数调用的列表中? 我拥有的代码: class Fila { public: LList a,b,c,d,e,f,g,h,i,j; //public

我试图将一个值推送到列表中。我的列表在一个包含许多列表的类中,该类包含一个函数getListint,该函数接受一个整数并返回它所表示的列表。e、 g getList6将返回列表g。包含所有列表的类称为z。但是,当我尝试使用以下命令推送值时:z.getList6.pushvalue; 它不会将其推入G。如何编写一行,将值推入正在使用getter函数调用的列表中? 我拥有的代码:

class Fila {
public:
    LList a,b,c,d,e,f,g,h,i,j;
//public:
    LList q;
    LList getList(int n);
};

LList Fila::getList(int n) {
    if(n==0){return a;}
    else if(n==1){return b;}
    else if(n==2){return c;}
    else if(n==3){return d;}
    else if(n==4){return e;}
    else if(n==5){return f;}
    else if(n==6){return g;}
    else if(n==7){return h;}
    else if(n==8){return i;}
    else {return j;}
}

void radixsort(Node *front, Node *back) {
    Fila z;
    Node *t=front;
    while(t){
        z.q.push(t->data);
        t=t->next;
    }
    for(int k=0;k<log(99)+1;k++){
        while(!z.q.empty()){ //anade a los bucket
            if(k==0){
                for(int l=0;l<10;l++){
                    if((z.q.front())%10==l){
                        z.getList(l).push(z.q.front()); //THIS LINE 
                        break;
                    }
...
改变这个

LList Fila::getList(int n) {
对此

LList& Fila::getList(int n) {

您的版本没有返回类中的列表,而是返回类中列表的副本。通过更改getList函数以返回引用,它将返回对类中列表的引用。

getList按值返回一个类列表的临时副本。然后你进入那个暂时的状态。然后,这个临时文件就被销毁了。原始列表保持不变。如果希望用户修改属性0.LList&getListint n;