我班级的功能导致我的程序崩溃

问题描述 投票:-5回答:1

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

我不知道...

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

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

考虑到我正在推动空向量,它不应该输入if。

c++ class vector dynamic-arrays
1个回答
0
投票

程序崩溃的行在哪里。

首先,假设expandCapacity()崩溃你的程序。我不知道,因为没有关于expandCapacity()fucntion的信息。所以你应该问你的问题。

第二,假设数组[length ++]扼杀你的程序。那么长度值大于你的数组大小。另外,数组从0索引开始。所以你声明10个大小的数组,然后你可以访问array [0] ~array [9]。

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.