gpt4 book ai didi

c - 遍历列表 : error lvalue required as left operand of assignment

转载 作者:太空宇宙 更新时间:2023-11-04 01:40:11 25 4
gpt4 key购买 nike

我正试图解决这个错误,但失败得很惨。我在下面声明了我的代码

msc_con_list_slot msc_slot;
memset(&msc_slot, 0, sizeof(msc_slot));
msc_pdn_con_t*conn = &msc_slot.conn;

msc_ber_list_slot bearer_slot;
memset(&bearer_slot, 0, sizeof(bearer_slot));
msc_ber_t *bearer = &bearer_slot.bearer;

并尝试迭代它

for(&bearer_slot=(&(conn->bearers))->head; &bearer_slot; &bearer_slot=(&bearer_slot)->next)
{
//asign value here
}

我得到一个错误:
需要左值作为赋值的左操作数
警告:“bearer_slot”的地址将始终评估为“true”

也许我错过了什么,因为我真的不明白错误的真正含义。谢谢你的帮助

编辑添加结构:

typedef struct {
int id;
} msc_ber_t;

typedef struct _msc_ber_list_slot {
msc_ber_t bearer;
struct _msc_ber_list_slot *next, *prev;
} msc_ber_list_slot;

typedef struct {
msc_ber_list_slot *head, *tail;
} msc_ber_list;

最佳答案

你不能这样做:

&bearer_slot=(&(conn->bearers))->head;

向我们展示 msc_ber_list_slot 是如何定义的。

我猜你想要这样的:

struct msc_ber_list_slot *slot;
for(slot=conn->bearers.head; slot; slot=slot->next)
{
//asign value here
}

关于c - 遍历列表 : error lvalue required as left operand of assignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com