0

所以我做了一个链表类:

class node {
public:
    string name;
    node *next;
    node(string init) {name = init; next = nullptr;
};

然后在 main 中我创建了一个节点指针并初始化了它指向的节点的名称。

node *root;
root->name = "Hello"; //Error

编译器不会将此称为错误,但是当我运行程序时,它会在这行代码处停止工作。有谁知道为什么?

4

1 回答 1

5

您需要为指向的对象分配一个node对象。root

node* root = new node;

但是要小心,现在你必须确保deleteroot正确的时间打电话。您可以使用智能指针或自动存储对象来简化事情

node root;
root.name = "Hello";
于 2013-08-19T20:14:02.883 回答