【发布时间】:2014-12-08 17:16:10
【问题描述】:
int main(){
IntSLList list1,list2;
list1.addToHead(1);
list1.addToHead(2);
list1.addToHead(3);
list1.printAll();
IntSLLNode *p;
list1.assignvalues(p);
//p....p->next...p->next->next
//p refers to the first node of the linked list
return 0;
}
IntSLList* IntSLList::deletelast(IntSLLNode *p)
{
if(p==NULL || p->next ==NULL)//check this one as my base case
{
return NULL;
}
else
{
p->next = deletelast(p->next);
}
}
void IntSLList::assignvalues(IntSLLNode *p)
{
p=head;
}
有人知道我在这里做错了什么吗?它说p->next 有错误的数据类型要按原样分配......
【问题讨论】:
-
我猜
p->next是IntSLLNode*,而您正试图为其分配IntSLList*类型的东西。但是你期望deletelast会返回什么?
标签: c++ recursion singly-linked-list