Мне нужно создать стек-структуру. Данные структуры должны быть private или protected.
Вот содержание .h файла :
#include "stdafx.h"
private:
class MyStack
{
struct Stack
{
int data;
struct Stack *Tail, *Head;
};
public:
MyStack();
~MyStack();
void ShowData();
void AddData();
//эти еще не реализованы
void ShowFirstItem();
void ChangeItem();
};
Вот .cpp файл:
#include "MyStack.h"
MyStack::MyStack()
{
Stack *Stack1;
Stack1->Tail = NULL;
Stack1->Head = NULL;
}
MyStack::~MyStack()
{
Stack *Stack1;
while (Stack1 -> Head)
{
Stack1 -> Tail = Stack1 -> Head->Tail;
delete Stack1 -> Head;
Stack1->Head = Stack1-> Tail;
}
}
void MyStack::AddData()
{
Stack *Stack1=new Stack;
Stack *temp = new Stack; //Выделяем память для нового элемента
std::cin>>temp->data;
temp->Tail= Stack1->Head; //Указываем, что следующий элемент это предыдущий
Stack1->Head = temp; //Сдвигаем голову на позицию вперед
}
void MyStack::ShowData()
{
Stack *Stack1 = new Stack;
Stack *temp = new Stack; //Выделяем память для нового элемента
std::cout << temp->data;
temp->Tail = Stack1->Head; //Указываем, что следующий элемент это предыдущий
Stack1->Head = temp; //Сдвигаем голову на позицию вперед
}
Ошибка возникает с инициализацией структуры. Пишет, что была использована неинициализированная локальная переменная Stack1.
Как вы думаете что происходит в этом местe?
Stack *Stack1 = new Stack; //выделили место под новую переменную, но не заинициализировали его
....
temp->Tail= Stack1->Head; //Какое значение попадет в переменную temp->Tail?
....
Я, честно, скопировал этот кусок с какой-то статьи и пытался адаптировать под свою программу. Там была функция в которую приходило значение наподобие fun(List *New_list).
Я пробовал писать Stack *Stack1; ,но оно даже не компилировалось. Также требовало инициализацию.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости