我正在使用动态数组做一个simple_vector类,它只能包含双精度数。不知何故,我的功能推动使我的程序崩溃,我不知道发生了什么。当我打电话给它时,控制台会保持静止状态,然后立即结束主控制。
我不知道...
void simple_vector::push(double value){
if (length == capacity){
expandCapacity();
}
array[length++] = value;
}
expandCapacity()复制数组的容量并复制其内容。
考虑到我正在推动空向量,它不应该输入if。
程序崩溃的行在哪里。
首先,假设expandCapacity()崩溃你的程序。我不知道,因为没有关于expandCapacity()fucntion的信息。所以你应该问你的问题。
第二,假设数组[length ++]扼杀你的程序。那么长度值大于你的数组大小。另外,数组从0索引开始。所以你声明10个大小的数组,然后你可以访问array [0] ~array [9]。
谢谢。