У меня есть класс stackLL, а функция pop() создает seg-ошибку при использовании в основном. Вот код: Вот что структура и класс определение:Почему этот код создает ошибку seg?
struct llNode{
int data;
llNode* next;
};
class stackLL{
public:
stackLL();
void push(int x);
int pop();
void print();
private:
llNode* head;
};
вот определение функции-члена:
int stackLL::pop(){
if (head == NULL){
return false;
}
else {
llNode *tmp= new llNode;
cout<<"The integer is: "<<head -> data;
tmp = head;
head = tmp -> next;
delete tmp;
return tmp -> data;
}
}
вот реализация в основном:
stackLL sll;
пар линии вниз
sll.pop();
Есть еще одна проблема в вашей утечке памяти 'pop()' memory. – 4LegsDrivenCat