首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

delete的用法有有关问题吗

2012-02-09 
delete的用法有问题吗?intmain(intargc,char*argv[]){charcTxt1[]Thisisagame intnLengstrlen(cTxt1)

delete的用法有问题吗?
int   main(int   argc,   char*   argv[])
{
      char   cTxt1[]   =   "This   is   a   game ";
int   nLeng   =   strlen(cTxt1)+strlen(cTxt1);

char   *pTxt3   =   new   char(nLeng+5);
strncpy(pTxt3,cTxt1,strlen(cTxt1)+1);
strncat(pTxt3,cTxt1,strlen(cTxt1)+1);
delete   []pTxt3;
return   0;
}

以上简单程序在执行到delete   []pTxt3;一句出现access   violation错误,修改new中分配内存数目,以及strncpy,strncat最后一个参数均无法避免。

那么错误在什么地方?

[解决办法]
delete pTxt3;
[解决办法]
char *pTxt3 = new char(nLeng+5);

====> char *pTxt3 = new char[nLeng+5];
[解决办法]
char *pTxt3 = new char[nLeng+5];

热点排行