Имеется часть кода:
struct Spis2 {
int info;
Spis2 *next, *prev;
};
void Del_5(Spis2 *&begin, Spis2 *&end) {
Spis2 *temp = begin;
int counter = 0;
while (temp != NULL) {
counter++;
temp = temp->next;
}
temp = begin;
while (temp != NULL) {
if (temp->info % 5 == 0 && temp->info % 2 != 0) {
//If the first
if (temp->prev == NULL) {
if (counter == 1) {
begin = end = NULL;
}
else {
temp->next->prev = NULL;
begin = temp->next;
}
delete temp;
}
//if the last
else if (temp->next == NULL) {
temp->prev->next = NULL;
end = temp->prev;
delete temp;
}
//If the middle
else {
temp->prev->next = temp->next;
temp->next->prev = temp->prev;
delete temp;
}
}
else {
temp = temp->next;
}
}
}
Задача - удаление элементов, оканчивающихся на 5, из двунаправленного списка. Однако при выполнении возникает ошибка:Вызвано исключение: нарушение доступа для чтения.
temp было 0x8123.
И указывает на строку
if (temp->info % 5 == 0 && temp->info % 2 != 0) {
В чем ошибка и как решить?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Найти k1-количество одинаковых элементов в двумерном массиве c++;
Вопрос может показатся очень глупым, но все же меня интересует как вызвать конструктор после объявление поляЯ пробовал вот так но у меня...
Не могу даже попробовать запустить программу, так как появляется следующее сообщение об ошибках: