двусвязный список

программирование С++

имеется структура для двусвязного списка, указатели на первый и последний элемент и функция для удаления последнего элемента, в ней производится head и last. Но компилятор выкидывает предупреждение, что код под if никогда не выполнится. Собственно в этом и вопрос, почему не удается сравнить два указателя?

struct element{
T data;
element *next;
element *prev;
};
element *head;
element *last;

void del(){
................

if (head == last)
last == NULL;

................
}
Ответы:
last == NULL ? а может last = NULL ?
Не выполнится по той причине, что head и last это адреса в памяти которые последовательны, следовательно они не могут иметь одно и то же значение.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.