C语言中的 error: lvalue required as left operand of assignment

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的 error: lvalue required as left operand of assignment相关的知识,希望对你有一定的参考价值。

部分代码如下: x.c: PAIR(*p,*q).max=INT_MAX; //error: lvalue required as left operand of assignment x.h: #define PAIR(x,y) ((x) <= (y) ? H2Cost[(x)][(y)-(x)] : H2Cost[(y)][(x)-(y)]) x.c: static cost_t ** H2Cost; x.h: struct cost_s unsigned long plus; unsigned long max; cost_s; typedef struct cost_s cost_t;

参考技术A C语言的赋值必须是左值的,也就是左边必须是变量,不能是表达式的
你的PAIR(*p,*q).max是表达式,它不能再用=赋值的

以上是关于C语言中的 error: lvalue required as left operand of assignment的主要内容,如果未能解决你的问题,请参考以下文章

c语言lvalue expected啥含义

C 语言如图选中行,提示lvalue required as unary '&' operand

C语言错误:expression must be a modifiable lvalue

Expression must be a modifiable lvalue error in this code的原因是啥?

c语言 提示:lvalue required as left operand of assignment

编译显示[Error] lvalue required as increment operand