程序如下
typedef strcuct
{
char szMess[100];
char szCode[100];
int k;
}ST_PACK;ST_PACK *Pack=ST_PACK[100];delete []Pack;
这样DELETE时,内存溢出。
请高手帮忙。
typedef strcuct
{
char szMess[100];
char szCode[100];
int k;
}ST_PACK;ST_PACK *Pack=ST_PACK[100];delete []Pack;
这样DELETE时,内存溢出。
请高手帮忙。
解决方案 »
- 文字渐变效果
- 全局钩子一定需要共享内存吗
- 清空DC的办法?
- WTL中如何使用CComboBox?---救命啊
- 请帮忙讲一下CScrollView于滚动条怎么来用,最好有个例子程序???
- 文件的格式?
- 提个简单的问题,关于try的
- MyICQ-0.8-alpha1(公开源代码)发布了,希望大家多提意见!
- 高分求购串口通讯程序
- 请问如何配置Visual Studio 2005 Express,才能在新建的控制台应用程序中使用CFile Cstring类?
- int *a=NULL;是对的,但是定义和初始化分开就是错的如:int* a;a=NULL;
- 特急, 特急, 特急, 特急中... 关于"多播"的一个问题.....
这一句成立吗?
这一句成立吗?
应该
ST_PACK *Pack = new ST_PACK[100];
这样用delete就没问题了
栈上分配的内存是自动释放的,用不着手工去delete
或:
ST_PACK *Pack = new ST_PACK[100];
delete[] Pack;
typedef strcuct
{
char szMess[100];
char szCode[100];
int k;
}ST_PACK;ST_PACK *Pack= new ST_PACK[100];delete []Pack;
这样DELETE时,内存溢出。
请高手帮忙。
ST_PACK *Pack= ST_PACK[100]; 是错误的。 没有这种语法。这段代码没有泄漏。 你是不是结构体里面不是这几个成员, 是不是有指针, 然后你为这个成员指针分配了内存, 这样的话需要释放成员的指针(可以在析构函数中)。