结构体链表的添加怎么老是说“cannot convert from 'char' to 'char [20]'”

来源:百度知道 编辑:UC知道 时间:2024/06/28 09:49:31
typedef struct node
{
char name[20];
int telephone[12];
int num;
struct node *next;
}node,*queueptr;
typedef struct
{
queueptr front;
queueptr rear;
}linkqueue;
void initqueue(linkqueue &Q)
{
Q.front=Q.rear=(queueptr)malloc(sizeof(node));
if(!Q.front) exit(OVERFLOW);
Q.front->next=NULL;
}
void enqueue(linkqueue &Q,char n[20],int ph[12],int t)
{
queueptr p;
cout<<"姓名:";
cin>>n[20];
cout<<endl<<"电话:";
cin>>ph[12];
cout<<endl<<"您要订的票数:";
cin>>t;
cout<<endl;
p=(queueptr)malloc(sizeof(node));
if(!p) exit(OVERFLOW);
p->name=n[20];
p->telephone=ph[12];
p->num=t;
Q.rear->next=p;
Q.rear=p;
}

你定义个是个char []数组。。。传的是个char
肯定不行撒,哈哈
你要传同类型的才行

void enqueue(linkqueue &Q,char n[20],int ph[12],int t)
为啥非要这样定义,函数声明上最好别带 数组数量
void enqueue(linkqueue &Q,char *n,int *ph,int t)