为什么这个地方会有读取访问权限冲突?

我在做单链表的实验
输出链表
对着书敲得代码,但是在运行的时候编译器提示我有读取访问权限冲突,这是为什么?
代码如下

void dispList(LinkNode *&L)//输出链表
{
    LinkNode *p = L->next;
    while (p != NULL)
    {
        printf("%d ", p->data);
        p = p->next;
    }
    printf("\n");
}
void MegraLCmixedLALB(LinkNode *&L,LinkNode *&L1,LinkNode *&LC)
{
    LinkNode *p = L;
    LinkNode *q = L1;
    LinkNode *m = LC;
    while (p->next != NULL && q->next!=NULL)
    {
        if (p->data <= q->data)
        {
            m->data = p->data;
        }
        else
        {
            m->data = q->data;
        }
        p = p->next;
        q = q->next;
        m = m->next;
    }
    if (p->next = NULL)
    {
        while (q->next!=NULL)
        {
            m->data = q->data;
            q = q->next;
            m = m->next;
        }
    }
    else
    {
        while (p->next!=NULL)
        {
            m->data = p->data;
            p = p->next;
            m = m->next;
        }
    }
}
int main()
{
    LinkNode *LA = NULL;
    LinkNode *LB = NULL;
    LinkNode *LC = NULL;
    int a[5] = { 1,3,5,7,8 };
    int b[5] = { 2,4,6,8,10 };
    CreateList(LA, a, 5);
    CreateList(LB, b, 5);
    dispList(LB);
}

运行结果如下
图片说明
我该怎么弄?

CreateList的代码没有贴出来
其中对于最后一个节点没有将next设置为NULL

重构一下吧,应该是文件冲突了;