Я новичок в C ++ и продолжаю получать это сообщение об ошибке в следующем классе:
class LinkedList {
class Node *head;
class Node {
Student *student;
Node *next;
Node *prev;
public:
Node(Student *n_student, Node *n_next, Node *n_prev);
~Node();
Student *getStudent() const;
Node *getNext() const;
Node *getPrev() const;
};
public:
LinkedList();
~LinkedList();
void printList();
};
Метод, вызывающий ошибку:
void LinkedList::printList() {
using namespace std;
class Node *p_n;
p_n = head; // ERROR!
while (p_n) {
cout << '[' << (*(*p_n).getStudent()).getId() << ']' << endl;
p_n = (*p_n).getNext();
}
}
Я получаю сообщение об ошибке:
ошибка: невозможно преобразовать 'Узел *' в
LinkedList :: Node * в назначении
Я пытался привести Node к LinkedList :: Node, но продолжаю получать одно и то же сообщение. Я собираю его в XCode, не уверен, если это вызывает проблему.
Есть идеи, как это исправить?