所以我创建了一个链表类:
class node {
public:
string name;
node *next;
node(string init) {name = init; next = nullptr;
};
然后在main中我创建了一个节点指针并初始化了它指向的节点的名称。
node *root;
root->name = "Hello"; //Error
编译器不会将此调用为错误,但是当我运行程序时,它会停止在此代码行中运行。有谁知道为什么?
答案 0 :(得分:5)
您需要为node
指定一个root
对象来指向。
node* root = new node;
但请注意,现在您必须确保在delete
时恰好致电root
。您可以使用智能指针或自动存储对象来简化操作
node root;
root.name = "Hello";