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;

即可

猜你喜欢

转载自www.cnblogs.com/lqerio/p/12018753.html
今日推荐