关于返回值为字符,为何显示字符指针

为何报错显示invalid conversion from 'char*' to 'char' [-fpermissive] ?如何更正?

 char SameGen(fp *p,char name[]) //寻找辈分相同的一代人 
{

    int gen;

    gen=SearchGen(p,name); //搜索相同的辈分


    while(p->lchild!=NULL)当左节点为空时,结束循环
    {
         p=p->lchild;
        return(p->person.name);
    }
}

返回指针

 char * SameGen(fp *p,char name[]) //寻找辈分相同的一代人 

返回值,char修改为char[]或者char *