#include "iostream.h"int main(){ int *iptr=NULL; int size; cin >>size;//输入的size是一个不太大的正整数 iptr=new int [size]; for (int i=0;i<size;i++) { cin >>(*iptr++); } delete iptr; return 0;}
请问这个程序错在哪里了,求大侠解答
在循环中iptr变掉了,所以后面delete的指针错误
int main(){ int *iptr=NULL; int size; cin >>size;//输入的size是一个不太大的正整数 iptr=new int [size]; int * p =iptr; for (int i=0;i<size;i++) { cin >>(*p++); } delete[] iptr; return 0;}
delete[] iptr;
2楼正解。
学习了,二楼的正解
内存泄露