为什么这个函数会进入循环?
Why is this function going in a loop?
void listord::stmp()
{
nodeL *aux=head;
cout<<"STMP"<<endl;
while (aux)
{
cout<<aux->getData();
aux=aux->getNext();
}
cout<<endl;
return;
}
我不明白为什么这只是列出打印代码循环。我知道这可能是因为指针错误,但我不知道如何解决。
class nodeL{
private:
int data;
nodeL *next;
public:
nodeL();
nodeL(int d);
nodeL(int d,nodeL *n);
int getData();
nodoL *getNext();
void setData(int d);
void setNext(nodeL *n);
};
这是节点 L class,GetNext()
它只是一个 return 下一个,没有别的。
您想在构造函数中设置 next = nullptr
。你还想从你的 getNext 函数中 return *&
,像这样:
nodeL *& getNext();
这两件事应该可以解决您的问题。
void listord::stmp()
{
nodeL *aux=head;
cout<<"STMP"<<endl;
while (aux)
{
cout<<aux->getData();
aux=aux->getNext();
}
cout<<endl;
return;
}
我不明白为什么这只是列出打印代码循环。我知道这可能是因为指针错误,但我不知道如何解决。
class nodeL{
private:
int data;
nodeL *next;
public:
nodeL();
nodeL(int d);
nodeL(int d,nodeL *n);
int getData();
nodoL *getNext();
void setData(int d);
void setNext(nodeL *n);
};
这是节点 L class,GetNext()
它只是一个 return 下一个,没有别的。
您想在构造函数中设置 next = nullptr
。你还想从你的 getNext 函数中 return *&
,像这样:
nodeL *& getNext();
这两件事应该可以解决您的问题。