我有以下代码,我在其中调用一个函数并创建一个动态整数数组,然后用算法填充该数组
主文件
...
int main(void){
srand((long) 1234567);
callFunction1();
return 0;
}
函数.h
...
int *A;
int N;
//prototype
void callFunction2();
void callFunction1(){
int choice;
cin >> choice;
while (choice != 2){
callFunction2();
cin >> choice;
}
}
void callFunction2(){
cout << "Enter array size" << endl;
cin >> N;
A = new int[N];
A[0] = 0;
A[1] = 1;
for (int i=2;i<=N;i++){
A[i] = A[i-1] + A[i-2];
}
}
所以上面的代码大部分时间都可以工作,但有时它会在我初始化数组的那一行崩溃
A = 新的 int[N];
这个问题的原因可能是什么?