簡體   English   中英

錯誤:分配和返回類型時類型不兼容

[英]Error: incompatible types when assigning to and returning to type

我制作了一個程序來更新某些類型結構,但是在編譯時發生了兩個錯誤,我的程序如下:

#include <stdio.h>

struct a {
    char *name;
    int id;
    char *department;
    int num;
};

typedef struct a ab;

void swap(ab *,ab *);
ab * update(ab *);

int main(int argc,char *argv[])
{
    ab array[2]={{"Saud",137,"Electronics",500},{"Ebad",111,"Telecom",570}};
    ab *q;

    *q=update(&array[0]);
}

ab * update(ab *p)
{
    p->name="Talha";
    p->id=234;
    p->department="Civil";
    p->num=567;

    return *p;
}

編譯時,在分配和返回指針時出現兩個錯誤。 請通知我的錯誤,並進行更正。 錯誤是

newproject.c: In function ‘main’:

newproject.c:29:4: error: incompatible types when assigning to type ‘ab   {aka 
 struct a}’ from type ‘ab * {aka struct a *}’

*q=update(&array[0]);

  ^

newproject.c: In function ‘update’:

newproject.c:56:9: error: incompatible types when returning type ‘ab {aka 
struct a}’ but ‘ab * {aka struct a *}’ was expected

return *p;

       ^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM