C++ 结构体 segment fault

形如

struct node
{
    int key;
    int height;
    int size; //tree node 个数
    node *left, *right;
    node(int x) : key(x), height(1), size(1), left(NULL), right(NULL) {}
        node() : key(NULL), height(NULL), size(NULL), left(NULL), right(NULL){}
};
struct node
{
    int key;
    int height;
    int size;
    node *left, *right;
    node(int k)
    {
        key = k;
        height = 1;
        size = 1;
        left = right = 0;
    }
};

 

node * root=NULL;

root = new node (0);会报错segment fault。原因是此时root只是指针没有空间。

改为

node * root=NULL;

node * p= new node (0);

root=p;

即可

posted @ 2019-12-10 19:44  Erio  阅读(592)  评论(0编辑  收藏  举报