У меня проблема с попыткой установить личный элемент данных в классе узла. Вот файл:
#include <iostream>
#include <string>
using namespace std;
template <class myType>
class node{
private:
myType data;
node<myType>* next;
public:
// other functions
void setData(myType p){
data = p;
}
// other functions
};
Вот класс, который пытается использовать класс узла:
template <class myType>
class LL{
private:
node<myType>* head;
int index;
public:
// other functions
void addItem(myType d){
node<myType>* p;
p->setData(d);
p->setNext(NULL);
if(head == NULL){
head = p;
}
else{
node<myType> *temp;
temp = head;
head = p;
head->setNext(temp);
}
}
// other functions
};
Проблема возникает при попытке использовать функцию setData в первом классе узлов. В функции addItem из класса LL, когда вызывается p-> setData, я получаю ошибку сегментации. С помощью отладки я обнаружил, что ошибка сегментации возникает, когда программа пытается установить data = p в функции setData. Какие-нибудь советы?