C++自定义的一个函数传入一个指针类型的形参,方法体内正确输出但main输出乱码

在一个函数对一个二叉树指针进行操作之后,结束函数前输出data,函数结束后回到main方法里面同样输出data,第二次输出的data为不断乱码,最后自动关闭了

make函数内的引用
b->root = &nodes[1]; b->root被指向向局部模板 nodes[1] 这个变量在函数结束后处于释放状态,指向不可用
改成
b->root = nodes[1]; 试试,不要引用局部非static 变量追问

可是我的root是一个指针,nodes[i]存放的是一个二叉树结点,我通过&取址

追答

那需要main()中声明 变量,或者 把这个变量变成static,你的方法存在问题
不能指向已经被释放的局部变量
同样的如果你声明static限定,意味着每次调用函数都是这一个变量,所有指针指向的都是这一个

追问

解决了,爱你

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-28
贴代码,不要贴图
相似回答