-1
是的,我知道它是一个像百问题的副本,但我一直在这个工作几个小时,没有任何工作。在类中初始化结构变量成员给出了分段错误
我想要做的就是在类定义中初始化一些私有变量。
的结构是这样的:
#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::Slist (void) {
cursor -> data = 'n';
cursor -> next = new Node;
,这是给我一个分段错误。我知道这意味着我尝试访问不存在的内存,但尽管这些是私有变量,但我试图在Slist CONSTRUCTOR中访问它们,这当然可以访问它们。如果有人会告诉我发生了什么,我会非常感激。
'cursor'是一个指针,我没有看到任何代码指定它的存储。 – user4581301
首先,在使用之前写入'cursor = new Node;'。 – songyuanyao
谢谢!我不相信我首先不这样做。非常感谢你。 – Nienaber