将值推送到 getter 函数调用的列表中时出现问题

Problem pushing a value into a list being called by a getter function

本文关键字:列表 问题 函数调用 getter      更新时间:2023-10-16

我正在尝试将值推送到列表中。我的列表位于一个包含许多列表的类中,该类包含一个函数 getList(int(,该函数接受一个整数并返回它所表示的列表。例如 getList(6( 将返回列表 G。所有列表的类称为"z"。但是,当我尝试使用它推送值时:z.getList(6(.push(value(; 它不会将其推入 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函数更改为返回引用,它确实会返回(对类中的列表的引用(。