我是个vc++net的初学者,想动态创建一个能容纳n个CString变量的一维数组,并在用完后将其所占的内存空间删除,不知道应该怎样做?请老师有时间的时候帮帮忙!
我是这样做的。
CString *ary = new CString[n];
for(int i=0;i<n;i++)
ary[i] = "111";
delete ary;
以上程序编译能够通过,没有提示错误。但一运行就会死掉,不是怎么回事?
------解决方案--------------------------------------------------------
对于在动态申请复杂结构(例如结构体,类)的数组后,
释放内存时应该用 delete []p,如果只用delete p的话会产生runtime error;
故
lz你的程序应该改为
delete []ary;