我班的一个函数导致我的程序崩溃

时间:2019-03-27 00:54:34

标签: c++ class vector dynamic-arrays

我正在做一个simple_vector类,它只能使用动态数组包含双打。不知何故,我的功能推送使程序崩溃了,我不知道发生了什么。当我调用它时,控制台会静止一会儿,然后立即结束主机。

我不知道...

void simple_vector::push(double value){
if (length == capacity){
    expandCapacity();
}
  array[length++] = value;
}

expandCapacity()复制数组的容量并复制其内容。

考虑到我正在将空向量推入,因此不应输入if。

1 个答案:

答案 0 :(得分:0)

程序崩溃的行在哪里。

第一,假设expandCapacity()使程序崩溃。我不知道,因为没有关于expandCapacity()功能的信息。所以你应该问清楚问题。

,假设array [length ++]破坏了程序。则长度值大于数组大小。 另外,数组从0索引开始。因此,您声明了10个大小的数组,则可以访问array [0]〜array [9]。

谢谢。