期待一个表达,一个菜鸟的错误?

时间:2015-09-06 06:33:15

标签: c++

我是编程的新手,我目前正致力于家庭作业,为链接列表创建工具包。

我得到一个错误"期待表达"因为我试图测试我创建的一个功能。

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
}

我知道这可能是一些新手的错误,我试图搜索论坛以找到答案,但我不确定它是否让我感到困惑而不是它有帮助:)

提前致谢

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

而不是n1.initNode(n1*,1);你应该放置:n1.initNode(&n1,1); n1*是一个不正确的表达式,用于获取应使用&n1的指针。

答案 2 :(得分:0)

1.您不需要LLToolkit<T>:: initNode内部课程定义:

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;,您应该通过Node*Node的{​​{1}}。