猿问

c++中,再将链表头指针赋给一个临时指针时报错

#include
usingnamespacestd;
classLinklist
{
public:
structnode//声明链表结点的结构体
{
inta;
structnode*next;
};
structnode*head;
voidaddnode();//添加结点
Linklist(void);
~Linklist(void);
};
Linklist::Linklist(void)
{
head=NULL;
}
Linklist::~Linklist(void)
{
}
voidLinklist::addnode()//添加结点的函数实现
{
structnode*temp=newstructnode[1];
if(head==NULL)
{
head=temp;
head->next=NULL;
}
else
{
temp->next=head;
head=temp;
}
}
intmain()
{
Linklista;
structnode*temp=NULL;//申请一个structnode类型的指针
a.addnode();//创建一个结点
temp=a.head;//将头指针赋给一个临时的指针,这时候就报错了
system("pause");
return0;
}
在倒数第四行,“temp=a.head”处报错,说“不能讲Linklist::node类型的值分配到node类型的实体”
哈士奇WWW
浏览 561回答 2
2回答

潇潇雨雨

cppstructLinklist::node*temp=NULL;node是在Linklist内部声明的

qq_笑_17

structnode*temp=NULL;中的node是一个为空的构造体,跟Linklist中的node不是同一个.它等价于:structnode{....}node*temp=NULL;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答