C语言cfree编译时出现c2106 "=": 左操作数必须为左值

报错出现在这个地方:p1->date=new1->date;p1->time=new1->time;p1->place=new1->place;p1->person=ne... 报错出现在这个地方:

p1->date=new1->date;
p1->time=new1->time;
p1->place=new1->place;
p1->person=new1->person;
p1->detail=new1->detail;

编译时显示 c2106 "=": 左操作数必须为左值

请问怎么解决这个问题?难道结构体赋值不是这个样子吗?
展开
 我来答
xmcong2000
2014-12-18 · TA获得超过3471个赞
知道大有可为答主
回答量:1919
采纳率:0%
帮助的人:1294万
展开全部
你好

很高兴为你解答

答案是:你的date,time, person是什么类型,最好将结构体的定义说出来。

满意请采纳,谢谢!
更多追问追答
追问

这是结构体 还需要什么吗?

追答
不需要,你下面这些赋值都通不过,不能将数组名赋值给另一个数组名。可以借助strcpy函数达到你的目的。(记得include )
p1->date=new1->date;
p1->time=new1->time;
p1->place=new1->place;
p1->person=new1->person;
p1->detail=new1->detail;
晓之蒂
2014-12-18 · TA获得超过190个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:117万
展开全部
我猜这些都是字符型数组,不能简单的用等号来赋值。要用strcpy(),第一行就应该写成strcpy(p1->date,new1->date),其他以此类推。
更多追问追答
追问

不是数组 是结构体

追答
但是date,time什么的都是字符型数组,要赋值就要用strcpy。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式