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

小弟我这样申请内存有有关问题吗

2012-06-16 
我这样申请内存有问题吗?运行的时候就报错了,当然不是以下代码C/C++ codevoid ListBox::AddItem ( TCHAR *

我这样申请内存有问题吗?
运行的时候就报错了,当然不是以下代码

C/C++ code
void ListBox::AddItem ( TCHAR *pText){AddNew:    if( 1 + ItemCount <= BufferItem )    {        CtrlInfo Info;        Info.height = ItemHeight;        Info.width = LBackDes.Size.x - ScrollBar_V->ScrollInfo.width - Ladjust * 2;        Info.x = LBackDes.Loaction.x + Ladjust;        Info.y = (ItemCount * Info.height) + (LBackDes.Loaction.y) + Ladjust;        Item[ItemCount].AddItem( pCtrlClass,Info,pText,&ListBoxPro,(HWND)this,idContain,ItemBase + ItemCount);    }    else    {        BufferItem += 10;        ListItem *tempItem = NULL;        tempItem = new ListItem[ BufferItem ];        CopyMemory(tempItem,Item,sizeof(ListItem) * (BufferItem - 10));        delete[] Item;        Item = tempItem;        goto AddNew;    }    ItemCount ++;    ScrollBar_V->SetVal(0,ItemCount);}


[解决办法]
应该可以啊
崩溃后,查看调用堆栈,找到出错的代码,查看变量
[解决办法]
请具体说明哪一行报错。

[解决办法]
哪里错误?是delete[] Item;这里吗?还是CopyMemory,看喜下是否对Item越界操作

热点排行