在delete时的一些错误

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我在使用new来申请内存时遇到一问题如下:

///////////////////////////申请内存

char** ch = new char*[100];

for(int i = 0; i < 100; i ++)

{

ch[i] = new char[256];

}

////////////////释放内存

for( i = 0 ; i < m_nNodeMea; i ++ )

{

if(ch[i] != NULL )

delete[] ch[i];

ch[i] = NULL;

}

if(ch != NULL)

delete[] ch;

ch = NULL;

上面是可以执行

但如果我把

char** ch = new char*[100];

改为

char** ch = (char**)new char[100];

就出错。

把char改为double则两种方法都可以释放。

不知为何,望指教!!!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航