我有一个奇怪的问题与指针。我正在建立一个光线跟踪KD树,并在BuildKDtree函数打印根 - >左和右 - >右,我得到正确的值用于存储在节点上的各种属性。 当我完成该代码,然后尝试使用原始根指针遍历树时,root-> left和root-> right值包含垃圾和代码崩溃! 任何有关可能导致此问题的建议? 如果需要,我可以粘贴代码,但它很笨拙。设置垃圾值后指针即使设置
0
A
回答
0
BuildKDtree
函数的签名是什么?有没有可能有一个指针,但实际需要的是指针指针?只是想猜测:)
+0
谢谢阿伦其实我也这么认为,但我想现在就解决了。 – Manish 2010-10-10 06:48:53
0
机会是:
- 当您分配root的数据结构,你不是实际上得到一个有效的地址。
- 您的其他代码(或您正在使用的框架)正在写出结构的界限。
一般来说,第二个因为SEGFAULT而不太可能,但是除非您真的写出过去的页面边界,否则这些不会保证发生。听起来像一个讨厌的问题进行调试,尝试valgrind :)
0
你能检查这个指针是否有效吗?
也许你做这样的事情:
Node n = 0;
n->doThat();
在这种情况下,这不会有任何有效的左侧和右侧的指针。
0
谢谢你们指出一些可能的条件。我发现了这个错误。我实际上没有在BuildKDtree函数中分配动态内存。因此,它内部的每件事情都可以正常工作。但是当我返回时,变量被销毁并因此出错。
相关问题
- 1. memset设置字符指针NULL /垃圾
- 2. 结构指针设置值
- 3. 使用反射设置指针值?
- 4. 设置后帧指针指向哪里?
- 5. Xcode:垃圾收集器设置
- 6. 字符指针返回值垃圾
- 7. 发布后设置指针为零吗?
- 8. 将值设置为双结构指针
- 9. 问题设置值deque指针
- 10. 设置获取指针
- 11. Javascript设置指针事件
- 12. 在功能设置指针
- 13. 将指针设置为contenteditable
- 14. C++设置空指针?
- 15. 将指针设置为空后通过指针访问函数
- 16. Ubuntu exim4 - 配置设置和垃圾邮件过滤器
- 17. QTableView和设置指针位置
- 18. 使用指针/类的设置方法
- 19. 使用指针设置变量
- 20. 如何使用EWS API设置垃圾邮件?
- 21. 结合使用类指针返回垃圾值
- 22. 即使设置它后MVC ViewResult.VIewName为空
- 23. 类中的指针垃圾,C++
- 24. 返回指针变成垃圾... C++
- 25. 垃圾收集与共享指针
- 26. 无法将指针位置设置为C++中另一个指针位置的指针位置
- 27. IServiceProvider垃圾收集/处置
- 28. 即时得到垃圾值对象
- 29. 设置一个对象为零标志它为垃圾回收
- 30. Java垃圾回收,对null的设置参考
这可能只是一个缺失的原始根指针分配,或类似的东西。如果可以,请发布代码。好主意做一个副本,并尽量减少到绝对必需品。 – 2010-10-10 06:33:37