У меня возникли проблемы с созданием связанного списка, который использует класс LinkedList
10 и Node
. В классе List
, как мне создать объекты head
, curr
и temp
? Я думал, что могу просто инициализировать их как объекты, которые затем вызывают конструктор по умолчанию Node()
и назначают им переменную данных и указателя. Но я получаю ошибку: ‘Node’ does not name a type
и ‘head’ was not declared in this scope
для объектов head
, curr
и temp
. Вот мой код:Ошибка: не называет тип (C++)
LinkedList.cpp:
#include <iostream>
#include <cstdlib>
#include "LinkedList.h"
#include "Node.h"
using namespace std;
LinkedList::LinkedList() {
head = NULL;
curr = NULL;
temp = NULL;
cout << "Blank list created." << endl;
}
LinkedList::LinkedList(value_type addData) {
Node n(addData);
}
LinkedList.h:
class LinkedList {
public:
typedef std::string value_type;
LinkedList();
LinkedList(value_type addData);
private:
Node head;
Node curr;
Node temp;
};
node.cpp:
#include <iostream>
#include <cstdlib>
#include "Node.h"
using namespace std;
Node::Node() {
nodePtr n = new node;
n->next = NULL;
n->data = NULL;
}
Node::Node(value_type addData) {
nodePtr n = new node;
n->next = NULL;
n->data = addData;
}
node.h:
class Node {
public:
typedef std::string value_type;
Node();
Node(value_type addData);
private:
struct node {
value_type data;
node* next;
};
typedef struct node* nodePtr;
};
Любая помощь будет принята с благодарностью, спасибо, ребята!
Добавить '#include 'Node.h" 'в' LinkedList.h'. – songyuanyao