c++ 单链表 不知道哪里错了emmmm求指教

#include
using namespace std;

//节点类
class Node {
public:
int data;
Node *next;
Node() {
next=NULL;
}
};
//链表类
class LinkList {
private:
Node *head;
public:
LinkList();
void createList1(int n);

};

LinkList::LinkList() {

}
//构造链表函数
void LinkList::createList1(int n) {
Node *p,*a;
p=head;
cout<<"please print in 5 numbers:"< for(int i=0;i a=new Node; //xingjianjiedian
cin>>a->data;
a->next=p->next;
p->next=a;
}
}

int main() {
LinkList l;
l.createList1(5);
return 0;
}

用下面的代码试试吧,记得分配空间。另外,head指针记得保存。
void LinkList::createList1(int n) {
Node *p, *a;
int i;

        cout << "Please input " << n << "numbers: ";

        p = head;
        for (i = 0; i < n; i++)
        {
              a = new Node();
                    cin >> a->data;
                    a->next = NULL;
                    if (i == 0)
                    {
                         p = head = a;    //save head pointer
                    }
                 else
               {
                       p->next = a;
                         p = p->next;
                  }
        }

}