编译器报告说“head”未声明:LinkedList。这种错误通常是因为在使用头指针“head”之前未声明或初始化它。下面是一个示例代码,并提供了解决方法:
#include
struct Node {
int data;
Node* next;
};
class LinkedList {
private:
Node* head;
public:
LinkedList() {
head = nullptr;
}
void insert(int value) {
Node* newNode = new Node;
newNode->data = value;
newNode->next = nullptr;
if (head == nullptr) {
head = newNode;
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = newNode;
}
}
void display() {
Node* current = head;
while (current != nullptr) {
std::cout << current->data << " ";
current = current->next;
}
}
};
int main() {
LinkedList list;
list.insert(1);
list.insert(2);
list.insert(3);
list.display();
return 0;
}
在上面的代码中,我们定义了一个名为“LinkedList”的类,它包含一个名为“head”的私有成员变量。在构造函数中,我们将“head”初始化为“nullptr”。然后,我们定义了一个名为“insert”的成员函数,用于在链表中插入元素。最后,我们定义了一个名为“display”的成员函数,用于显示链表中的元素。
在主函数中,我们创建了一个名为“list”的LinkedList对象,并使用insert函数插入了一些元素。然后,我们使用display函数显示链表中的元素。
这个示例代码演示了如何正确声明和使用头指针“head”来构建一个链表。如果你仍然收到编译器报告的错误消息,检查一下你的代码,确保头指针被正确地声明和初始化。