首页 > 解决方案 > 如何解决我收到的错误:“意外的令牌 '=' 预期表达式”。使用模板和链表

问题描述

我正在尝试使用模板中的一堆链接列表,当我尝试将链接列表的顶部节点设置为下一个值时出现错误。我在使用模板时没有收到此错误,所以我知道它与此有关,但我不知道为什么。

我已经尝试完全取出后顶部以查看是否可以修复它,但是我留下了更多错误,说我正在尝试将指针转换为模板。

//这里是我设置模板/类/结构的地方

template<typename T>
struct StackNode
{
    T ch;
    StackNode<T> *next;
};
template<typename T>
class StackAsLList
{
private:
    StackNode<T> *top;
public:
    StackAsLList();
    void ClearStack();
    void Push(T ch);
    T Pop();            
    bool isEmpty();     
    bool isFull();      
    ~StackAsLList() 
    {
        ClearStack();
    }
};

//这是我得到错误的函数之一

template<typename T>
void StackAsLList<T>::ClearStack() {
    struct StackNode *temp;

    if (!isEmpty())
    {
        temp = top;

        /// Scan stack and free all nodes
        while (top != 0)
        {
            temp = top;
            top<T> = top<T>->next;  //specifically this line
            delete temp;
        }
    }
    top = 0;    
}

标签: c++

解决方案


推荐阅读