链表 获取指向节点的指针,返回值的问题
Node*& getptr(int pos)
{
Node* p = head;
if(pos <= 0|| pos > size())
{
return head;
}
else
{
//for(int i = 1; i <= pos ; i++)
//{
//p = p->next;
//}
//return p ;
for(int i = 1; i < pos ; i++)
{
p = p->next;
}
return p->next ;
}
}
为什么返回return p->next;程序运行正常,返回return p;发生错误。
[解决办法]
p为局部变量,不能返回局部变量的引用!!