Я пытаюсь решить эту ошибку, но с треском провалилась. Я объявил мой код ниже
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
}
Я получил ошибку:
Значение l требуется в качестве левого операнда присваивания
предупреждение: адрес «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;