C++ 初始化类中的结构变量成员会导致分段错误

C++ 初始化类中的结构变量成员会导致分段错误,c++,struct,segmentation-fault,C++,Struct,Segmentation Fault,是的,我知道这是100个问题的副本,但我已经做了几个小时了,什么都没用 我只想在类定义中初始化一些私有变量 结构如下所示: #include <string> using namespace std; typedef string DataType; class Slist { public: private: // private data type: Node struct Node { DataType data; Node

是的,我知道这是100个问题的副本,但我已经做了几个小时了,什么都没用

我只想在类定义中初始化一些私有变量

结构如下所示:

#include <string>
using namespace std;
typedef string DataType;

class Slist {
public:

private:
// private data type: Node

    struct Node {
        DataType    data;
        Node        *next;
    };

// state variables:

    Node *head, *tail, *cursor;

};

这给了我一个分割错误。我知道这意味着我试图访问不存在的内存,但尽管这些是私有变量,我还是试图在Slist构造函数中访问它们,当然,它可以访问它们。如果有人告诉我发生了什么,我将非常感激。

您没有初始化或将指针分配到内存位置。任何指针都需要有效的内存位置才能使用

你能行

cursor = new Node;

在使用箭头操作符之前。

光标
是一个指针,我没有看到任何分配给它存储的代码在使用它之前。谢谢!我真不敢相信我一开始没有这么做。真的非常感谢你。
cursor = new Node;