用new[]声明的变量如何释放其中的一个成员?
例如abc = new char[10],我想释放第5个成员,该用什么方法?
刚刚试了试delete abc[5],vc提示error C2440错误,提示“delete:不能char转换成void *”。难道要用delete []?那不是全部释放了?应该用什么好呢?谢谢!
[解决办法]
你申请数组了,自然得用delete[]来释放了
[解决办法]
一起new出来的东西也必须一起释放,同生共死。
说你的原始需求。
[解决办法]
#include <iostream>
using namespace std;
int main(){
char **a=new char*[10];
for(int i=0;i <10;i++)
a[i]=new char;
delete a[5];
return 0;
}
这是最最折衷的办法了,编译通过,不报错,唯一的缺点是空间不连续……
[解决办法]
首先,我鄙视你的老师
然后鄙视楼主你
数组是连续的,你释放第5格什么意思?