struct Node {
int value;
Node *n;
};
void push (Node *front, int value) {
Node new;
new.n = front;
new.value = value;
Node *newPtr = &new;
front = newPtr;
}
int pop (Node *front) {
int n = front->value;
front = front->n;
return n;
}
Я попытался реализовать стек без динамического распределения памяти таким образом, но я не смог заставить его работать. Любые намеки на то, что я должен делать, чтобы он работал?Реализация стека без динамического распределения памяти
Необходимо указать [минимальный, полный и проверенный пример (MCVE)] (http://stackoverflow.com/help/mcve), а также описание того, что точно не сработало, включая точный текст сообщения об ошибке и где они появятся. – Drop
@Drop Поскольку функция pop не работала (передний узел не исчезнет), я предположил, что сам дизайн был уже некорректным с самого начала. – Haxify
Без MCVE мои догадки: (1) 'new' это зарезервированное ключевое слово в C++, вы не можете использовать его как имя идентификатора, (2) после' push() ',' front' указывает на временный объект, который разрушен когда 'push()' выходит – Drop