我是 C++ 新手,我试图让用户继续在数组中输入双精度,当用户输入 -1 时程序停止。我的代码有效,但是当将 12 个项目添加到数组中时,我收到以下错误:
*** 检测到 glibc *** ./exercise2:双重释放或损坏(输出):0x00000000010aa070 ***
======= 回溯:=========
和:
中止(核心转储)
这是我的代码:
int main(){
int size=5;
int i=0;
double *numbers = new double[size];
cout<<"Enter your double:"<<endl;
while(1){
double *numbers2=new double[size];
cin>>numbers[i];
if(i>=size-1){
size=size*2;
memcpy(&numbers2, &numbers, size);
delete[]numbers;
numbers=numbers2;
}
if(numbers[i]==-1){
break;
}
cout<<numbers[i];
i++;
}
}