期待一个表达,一个新手的错误

Expected an expression, a rookie mistake?

本文关键字:一个 错误 新手 期待      更新时间:2023-10-16

我对编程相当陌生,我目前正在做一个家庭作业,为链表创建一个工具包。

当我试图测试我创建的一个函数时,我得到一个错误"Expected an expression"。

template<class T> 
class LLToolkit
{
public:
    LLToolkit<T>::initNode(T* head, T x)                
    {
        head->info = x;
        head->next = NULL;
    };
//some other functions
};
    int main()
{
    LLToolkit<Node> n1;
    n1.initNode(n1*,1); //Exprected an expression
}

我知道这可能是一些新手的错误,我试着搜索论坛来找到这个问题的答案,但我不确定它是否比它更让我困惑:)

Thanks in advance

n1的地址是用&n1,而不是n1*

n1*在给定的上下文中没有任何意义,因此出现错误。

应该用:n1.initNode(&n1,1);代替n1.initNode(n1*,1);n1*是一个不正确的表达式,要获得指针,您应该使用&n1

1。对于initNode:

的内部类定义,不需要LLToolkit<T>::
template<class T> 
class LLToolkit
{
public:
    initNode(T* head, T x)                
    {
        head->info = x;
        head->next = NULL;
    };
//some other functions
};

2。initNode的第一个参数是T*,第二个参数是T,根据LLToolkit<Node> n1;, n1.initNode应该传递Node*Node

相关文章: