求帮我解决一下这个问题

img

第16行的head没有声明啊,而且你的add函数的返回值类型是void,也就是没有返回值啊,不能这么写啊 ,你把代码贴全一些吧。
代码修改如下:


typedef struct _list{
    Node *head;
}List;
void add(List *plist,int number);
int main()
{
    List list;  
    int number;
    list.head=NULL;
    do{
        scanf("%d",&number);
        if(number!=-1){
            add(&list,number);
        }
    }while(number!=-1);
    return 0;
} 
void add(List *plist,int number)
{
    Node *p=(Node*)malloc(sizeof(Node));
    p->value=number;
    printf("%d",p->value);
    printf(" ");
    p->next=NULL;
    Node *last=plist->head; //plist前面不用带*
    if(last)
    {
        while(last->next)
        {
            last = last->next;
        }
        last->next = p;
    }else
        plist->head = p;
}

数据类型不兼容,类型直接用Node