c++ - C++中的双向链接节点构造函数

标签 c++ constructor doubly-linked-list

我正在尝试在 C++ 中为双向链表创建一个节点,但遇到了构造函数的一些问题。我有以下简单的头文件:

class Node{
public:
    Node();
private:
    int data;
    Node* next;
    Node* previous;
};

我的 .cpp 文件如下所示:

#include <iostream>
#include <cstdlib>

using namespace std;

int data;
Node* next;
Node* previous;

Node::Node(){
    data = 0;
    next = NULL;
    previous = NULL;
}

编译时出现以下错误:“Node does not name a type.”

我也曾尝试使用“struct”来创建节点:

struct Node{
     int data;
     Node* next;
     Node* previous;
}

但这在 cpp 文件中的构造函数中给我带来了另一个错误: “隐式声明的定义......”

如何使用构造函数和变量使这个程序编译时没有错误消息,我做错了什么?

最佳答案

您还没有包含定义 Node 的 header 。

关于c++ - C++中的双向链接节点构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21529049/

相关文章:

c++ - 托管 C++ 如何将 NOT Null 终止的 const char * 转换为 String ^

java - 在 Java 中运行构造函数代码之前字段是否已初始化?

c++ - SetWindowsHookEx() ,钩子(Hook)不维护? (可能)

c++ - 如何在Qt中运行纯c++程序?

javascript - 在 JavaScript 对象中使用构造函数有什么好处?

C#静态字段、实例构造函数

c - 仅使用单个指针字段存储双向链表

c - 双链表问题(核心转储)

c - 删除与头连接的循环双向链表

c++ - 将 .lib 导入另一个项目时出现问题