|
#1
|
|||
|
|||
Двусвязный список
Кусок кода удаления элемента из середины. С++ Builder 6.0 не "видит" выделенные жирным Next и Prev. В дебаггере показывает "????".
Код:
Node *item; ... item->Prev->Next = item->Next; //предыдущий элемент указывает на след item->Next->Prev = item->Prev; ... |
#2
|
||||
|
||||
typedef ноды дай мне. похоже, нужно явное приведение типа в данной ситуации...
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
||||
|
||||
***немного из размышлений****
по идее item->Prev также указатель и, чтобы достучаться до его поля Next, его тоже нужно привести к типу Node, т.е. (не очень помню синтаксис С++) что-то на подобие : Код:
Node *item; Node *tmp; ... tmp=(Node)item->Prev; tmp->Next = item->Next; //предыдущий элемент указывает на след tmp=(Node)item->Next; tmp->Prev = item->Prev; Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#4
|
||||
|
||||
Код:
struct Node { Node* Prev; Node* Next; void* Data; } Node* item; item->Next->Next->Next->Next->Next->Next->Next->Next->Next->Next = 0; Пруф из моего недавнего кода: Код:
struct NickListElem { NickListElem *Next; int Length; char Nick[10]; }; jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
Код:
struct Node //Структура являющаяся звеном списка { int num; Node *Next, *Prev; //Указатели на адреса следующего и предыдущего элементов списка }; Ни один ваш вариант не работает |