C ++でn要素のリンクリストを作成しようとしています。
しかし、私はエラーメッセージを受け取りました:
linkedlist.exe の 0x00D0345E で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x00000004。
理由は何ですか?
#include <iostream>
using namespace std;
struct linklist
{
int data;
linklist *next;
};
void Create_linklist(linklist &l,int n) // with n element
{
linklist *phead,*p;
int i=0;
phead=p=NULL;
while (i<n)
{
if (phead==NULL)
{
phead=new linklist;
p=phead;
}
else
{
p->next=new linklist; //--> Seem error this line
p=p->next;
}
cout<<"Input value "<<i+1<<": ";
cin>>p->data;
i++;
p=p->next=NULL;
}
}
void Outer_list(linklist l)
{
linklist *p=new linklist;
if (p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
}
void main()
{
linklist list;
Create_linklist(list,5);
Outer_list(list);
system("pause");
}