释放内存时出现异常

hafent 2006-03-18 08:31:33
我有如下的一段代码:
BYTE *buffer=new BYTE[length];
memset(buffer,234,length);
......
//进行ADO数据库连接
......
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];

rgsabound[0].lLbound=0;
rgsabound[0].cElements=length;
psa=SafeArrayCreate(VT_UI1,1,rgsabound);
for(long j=0;j<length;j++)
{
SafeArrayPutElement(psa,&j,buffer++);
}
......
然后就
delete [] buffer;
buffer=NULL;
在调试程序的时候,就发现执行delete [] buffer时,就出现异常,不知道是什么问题?
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjiaming 2006-03-18
  • 打赏
  • 举报
回复
SafeArrayPutElement(psa,&j,buffer++);改为 SafeArrayPutElement(psa,&j,buffer+j);
jjiaming 2006-03-18
  • 打赏
  • 举报
回复
这一句使得buffer的指针发生了改变
jjiaming 2006-03-18
  • 打赏
  • 举报
回复
SafeArrayPutElement(psa,&j,buffer++);
这一句错了

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧