线性结构模板,插入线性表时停止运行

#include
#include
#include

//模板结点
template
struct LNode{

ElemType data;

struct LNode* next; //指针域
};

template
struct List
{
struct LNode *head;
struct LNode *tail;
int len;
};

//创建线性表
template
void CreatList(struct List &L)
{
L.head=L.tail=(struct LNode*)malloc(sizeof(struct LNode));
L.head->next=NULL;
L.len=0;
}

template
void Insert(struct List &L,ElemType e)
{
struct LNode* s=(struct LNode*)malloc(sizeof(struct LNode));
s->data=e;
s->next=NULL;
L.tail->next=s;
L.tail=s;
L.len++;
}

struct association;
typedef struct Student
{
char no[15];
char name[20];
char sex;
char grade[5];
char major[24];
struct List ass_list;
}*p_stu,stu;

void addStu(struct List &s_L)
{
stu s;
char no[15];
char name[20];
char grade[5];
char major[24];

scanf("%s",no);
strcpy(s.no,no);

scanf("%s",name);
strcpy(s.name,name);
fflush(stdin);

scanf("%c",&s.sex);

scanf("%s",grade);
strcpy(s.grade,grade);

scanf("%s",major);
strcpy(s.major,major);

CreatList<struct association*>(s.ass_list);

Insert<stu>(s_L,s);

}

int main()
{
struct List s_L;
s_L.head=NULL;
s_L.tail=NULL;

addStu(s_L);

return 0;

}


http://www.cnblogs.com/mr-wid/p/3380337.html

是不是因为结构里包含结构,所以赋值出现了问题?