Показывает ошибку сегментации в консоли вывода при запуске кода. Как это исправить? Я немного знаю об ошибке сегментации, хотя не смог найти ошибку. Здесь я создал два класса. Один для стека. Еще один для Node. Вот мой код:
#include<iostream>
using namespace std;
class Node
{
int data;
Node* link;
public:
void setData(int a)
{
data=a;
}
int getData()
{
return data;
}
void setLink(Node* a)
{
link=a;
}
Node* getLink()
{
return link;
}
};
class stack
{
int number=0;
int n;
Node* t;
Node* start;
public:
void push(int z)
{
//cout<<"d1"<endl;
Node* temp=new Node();
if(start==NULL){
start->setData(z);
start->setLink('\0');
t=start;
number++;
cout<<"d1"<endl;
}
else{
if(number==10){
cout<<"stack is overflowed"<<endl;
}
else{
temp=start;
while(temp->getLink()!=NULL){
temp=temp->getLink();
}
t->setData(z);
t->setLink('\0');
temp->setLink(t);
cout<<"d2"<endl;
number++;
}
}
}
int pop()
{
if(t==NULL){
cout<<"stack is empty"<<endl;
return 0;
}
else{
Node* temp;
while(temp->getLink()!=t){
temp=temp->getLink();
}
t=temp;
temp=temp->getLink();
return temp->getData();
}
}
};
int main()
{
stack s1;
s1.push(2);
s1.push(3);
cout<<s1.pop()<<endl;
}