Heim > Fragen und Antworten > Hauptteil
#include<iostream>
using namespace std;
class Linklist
{
public:
struct node //声明链表结点的结构体
{
int a;
struct node *next;
};
struct node*head;
void addnode(); //添加结点
Linklist(void);
~Linklist(void);
};
Linklist::Linklist(void)
{
head=NULL;
}
Linklist::~Linklist(void)
{
}
void Linklist::addnode() //添加结点的函数实现
{
struct node *temp=new struct node [1];
if(head==NULL)
{
head=temp;
head->next=NULL;
}
else
{
temp->next=head;
head=temp;
}
}
int main()
{
Linklist a;
struct node *temp=NULL; //申请一个struct node类型的指针
a.addnode(); //创建一个结点
temp=a.head; //将头指针赋给一个临时的指针,这时候就报错了
system("pause");
return 0;
}
在倒数第四行,“temp=a.head”处报错,说“不能讲Linklist::node类型的值分配到node类型的实体”
阿神2017-04-17 11:49:02
struct node *temp=NULL;
中的node是一个为空的构造体,跟Linklist中的node不是同一个.它等价于:
struct node
{
....
}
node *temp = NULL;