我是编程的新手,我目前正致力于家庭作业,为链接列表创建工具包。
我得到一个错误"期待表达"因为我试图测试我创建的一个功能。
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
}
我知道这可能是一些新手的错误,我试图搜索论坛以找到答案,但我不确定它是否让我感到困惑而不是它有帮助:)
提前致谢
答案 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}}。