проблема в том, что L = nullptr на самом деле работает нормально, но когда я использую другую функцию, например printArray() или любой другой, например get() на самом деле показывает, что L равен 4 очень случайным адресам памяти, и последний каким-то образом указывает на сам L! (на самом деле это та ситуация, когда я удаляю L, но когда я устанавливаю для него значение nullptr, он будет 0x0, что означает, что он не указывает на эти случайные адреса). Я столько раз отслеживал код и даже получал помощь от ИИ, но даже ИИ говорит, что с кодом все в порядке.
Код: Выделить всё
class list
{
private:
#include
unsigned int size;
struct node {
int item;
node *next = nullptr;
};
node *L;
bool deleted;
public:
list(/* args */) {
size = 0;
L = new node;
L->next = L;
deleted = false;
}
~list() {
if (L != nullptr) {
popAll();
std::cout next next->item = item;
L->next->next = p;
size++;
}
void pushIn(int index, int item) {
if (deleted && L == nullptr) return;
if ((size == 0 && index != 0) /*This will ignore -1 as the ending index*/ || (L->next == L && index != 0 && index != size-1)) std::cout next->next = L;
size++;
}
void pop(int index) {
if (deleted && L == nullptr) return;
if (size == 0) std::cout next = L;
size = 0;
}
};
Подробнее здесь: https://stackoverflow.com/questions/792 ... -random-ad
Мобильная версия