В чём моя ошибка с функцией Instack
#include <iostream>
using namespace std;
struct stack{
int info;
stack *next;
}*top;
void inStack(){
stack *save;
cin >> save -> info;
save -> next = top;
top = save;
}
void menu(){
int key = 1;
while (key){
cin >> key;
switch(key) {
case 1: inStack();
default: break;
}
}
}
int main (){
menu();
}
Ответы (1 шт):
Автор решения: AlexGlebe
→ Ссылка
void inStack(){
// переменная указатель на структуру ни на что не указывает
// (указатель равен случайному значению)
// и это приводит к неопределённому поведению программы
stack *save;
cin >> save -> info;
Решается выделением свободного участка памяти для структуры.
stack *save = new stack ;