为什么初始化后仍然说是空指针呢?

img


如图,在bro进行过初始化后,仍然说它是空指针。
请问是哪里有问题呢?我实在看不出来。

bro hasn't been initialized yet. I mean bro itself. Bro

img


这个等号,前面的初始化工作全白做了。

while(bro->nextsibling = p)
改为
while(bro->nextsibling == p)
或者
while(bro->nextsibling != p)

bro =new ...

其实,你可能时当局者迷了

bro = p->father->firstchild;
这里,你将father 的firstchild 给了 bro。
当你有没有想过p->father 不为 NULL,但是其 firstchild 确定不为NULL 吗?
如果firstchild 为NULL,那么bro 也为NULL,那这样while 循环就不能用bro 去->