为什么这个函数会进入循环?

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();

这两件事应该可以解决您的问题。