我正在为学校工作,使用二叉树实现特定算法。
我已经计算出算法并且我的main()在第一次迭代时正确运行,但是在此之后就会出现seg故障(你应该能够连续运行程序并模拟算法而不必运行{ {1}}再次,因此while循环)。
我有一种感觉,它与我在第一轮中创建和使用的./main
有关,然后在没有被释放的情况下再次使用,但我尝试解决这个问题毫无结果。
这是我的主要问题:
BinaryTree *tree
BinaryTree.cpp文件有点长,所以如果需要,我会在这里链接它们: http://pastebin.com/EtwdBp8N
非常感谢有关不良做法的任何建议或信息。
答案 0 :(得分:2)
int a[elements]; for (int i=1; i<=elements; i++) { cout<<"Enter space requirement of object "<<i<<endl; cin>>a[i]; }
这个位错了,数组在C / C ++中从零开始,循环应该是:
for (int i=0; i<elements; i++)
答案 1 :(得分:0)
如果调试器没有帮助,请尝试使用valgrind http://valgrind.org/或类似的程序运行程序。它将为您识别许多无效的内存访问。