求助:各位大哥请帮我看看这个奇怪问题啊?谢谢2!

MJXQJ888 2009-07-07 11:37:02
请教:
编译工具:VS2005 vc
我在一段程序中 开辟了空间,然后删除空间

第一次运行这段程序没有问题

第二次运行这段程序就出现:
Debug Assertion Failed!
File:dbgdel.cpp
Line:52

Expresssion:_block_type_is_valid(pmead->nblockuse)

For information on how your program can cause an assertion
failure,see the visual c++ documentation on asserts

我的开辟:
int a[10]
a[0] new [size(int)]
a[1] new [size(int)]


我的删除:
delete a[0]
delete a[1]

是不是我的删除写错了,
还是别的原因?


还有:
运行时库:
多线程(/MT)
多线程调试(/MTD)
多线程 DLL(/MD)
多线程 DLL(/MDd)

这几种分别是什么意思?
一般要选哪种?

谢谢!
...全文
50 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fleeboy 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 MJXQJ888 的回复:]
hgeAnimation* AniResultGameOver[12] = {NULL};

for(char8 i = 0; i < 12; i ++)
{
AniResultGameOver[i] = new hgeAnimation(TexResultGameOver[i],8,6,0.0f,0.0f,
float (hge->Texture_GetWidth(TexResultGameOver[i],true)/2),
float (hge->Texture_GetHeight(TexResultGameOver[i],true)/4));
AniResultGameOver[i]->Play();
}

for(char8 i = 0; i < 12; i ++)
{
delete AniResultGameOver[i]; //Result GameOver
}
[/Quote]
从内存空间处理方面来说,应该没有什么不对的。
Fleeboy 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 beyond071 的回复:]
int a[10]
a[0] new [size(int)]
a[1] new [size(int)]
[/Quote]
不能这样开辟空间
beyond071 2009-07-07
  • 打赏
  • 举报
回复
貌似这样也没什么问题
楼主查查删除前,数组中的对象是否被破坏了
MJXQJ888 2009-07-07
  • 打赏
  • 举报
回复
hgeAnimation* AniResultGameOver[12] = {NULL};

for(char8 i = 0; i < 12; i ++)
{
AniResultGameOver[i] = new hgeAnimation(TexResultGameOver[i],8,6,0.0f,0.0f,
float (hge->Texture_GetWidth(TexResultGameOver[i],true)/2),
float (hge->Texture_GetHeight(TexResultGameOver[i],true)/4));
AniResultGameOver[i]->Play();
}

for(char8 i = 0; i < 12; i ++)
{
delete AniResultGameOver[i]; //Result GameOver
}

其实,是这样的

我删除的写法错在哪里啊?
谢谢!
  • 打赏
  • 举报
回复
呵呵,我怎么看这个编译应该都不会过吧?

lz以前搞VB的?

你确定你用的vs2005是用的里面的VC?
chaty 2009-07-07
  • 打赏
  • 举报
回复
a[0] new [size(int)]
a[1] new [size(int)]
~~~~~~~~~~~~~~~~~~~~~~这是啥?
老邓 2009-07-07
  • 打赏
  • 举报
回复
delete [] a;

就可以了
MJXQJ888 2009-07-07
  • 打赏
  • 举报
回复
貌似这样也没什么问题
楼主查查删除前,数组中的对象是否被破坏了


怎么检查啊?

我的断点,也不起作用了~

谢谢!

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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