所以让我从错误开始。运行 GDB 时,我不断收到此段错误:
#0 0x00000000 in ?? ()
#1 0x0804aacc in find_closest_object (list=0x8052928, base=0xbffff148,
dir=0xbffff130, last_hit=0x0, retdist=0xbffff0f0) at raytrace.c:34
#2 0x0804ab96 in ray_trace (model=0x80528f0, base=0xbffff148, dir=0xbffff130,
pix=0xbffff160, total_dist=0, last_hit=0x0) at raytrace.c:80
#3 0x0804a99a in make_pixel (model=0x80528f0, x=0, y=0) at image.c:29
#4 0x0804aa09 in make_row (model=0x80528f0, y=0) at image.c:47
#5 0x0804aa53 in image_create (model=0x80528f0, out=0x8052788) at image.c:69
#6 0x08048aed in main (argc=3, argv=0xbffff2b4) at main.c:30
所以基本上,我在 ?? 中不断收到 0x00000000 这个未知错误。这到底是什么意思?在光线跟踪的第 34 行,它说:
dist = obj->hits(base, dir);
有什么线索可能是什么问题?如有必要,我可以发布更多信息,但不确定到底需要什么。谢谢您的帮助!
编辑: last_hit 应该是 NULL 所以不是这样。