需要帮助使用gcc编译c程序

时间:2014-05-31 08:09:40

标签: c gcc freebsd

我正在运行FreeBSD 9.2,尝试编译Dalnet ircd df4.6.5。

我遇到了这个错误,并且不理解它。

channel.c:2536: error: lvalue required as left operand of assignment

这行代码是什么:

lopt->next = (LOpts *)lopt->yeslist=lopt->nolist=(Link *)NULL;

我发现的所有以前对此错误的回答是当有人在if语句中使用=而不是==时,我知道这段代码在早期版本的FreeBSD上编译,但我不明白它在做什么首先尝试解决它。​​

谢谢。

1 个答案:

答案 0 :(得分:2)

(LOpts *)lopt->yeslist不是左值。因此编译错误。

将行更改为:

lopt->yeslist=lopt->nolist=(Link *)NULL;
lopt->next = (LOpts *)NULL;