用C ++覆盖对象

时间:2013-11-21 20:58:41

标签: c++ algorithm object segmentation-fault

我正在为学校工作,使用二叉树实现特定算法。

我已经计算出算法并且我的main()在第一次迭代时正确运行,但是在此之后就会出现seg故障(你应该能够连续运行程序并模拟算法而不必运行{ {1}}再次,因此while循环)。

我有一种感觉,它与我在第一轮中创建和使用的./main有关,然后在没有被释放的情况下再次使用,但我尝试解决这个问题毫无结果。

这是我的主要问题:

BinaryTree *tree

BinaryTree.cpp文件有点长,所以如果需要,我会在这里链接它们: http://pastebin.com/EtwdBp8N

非常感谢有关不良做法的任何建议或信息。

2 个答案:

答案 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/或类似的程序运行程序。它将为您识别许多无效的内存访问。