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

重载CListCtrl类出现内存泄露

2013-09-05 
求助:重载CListCtrl类出现内存泄露重载CListCtrl类struct stColor{int nRowint nColCOLORREF rgb}void

求助:重载CListCtrl类出现内存泄露
重载CListCtrl类
struct stColor
{
int nRow;
int nCol;
COLORREF rgb;
};
void CListCtrlCl::SetColTextColor(int col,COLORREF color)
{
stColor *pColor = new stColor;
pColor->nCol = col;
pColor->rgb = color;
m_colTextColor.AddTail(pColor);
}
出现内存泄露,请问怎样删除 pColor? 
[解决办法]
当进程不再需要用这个stColor *pColor = new stColor的地址的时候
就及时释放掉就好了
[解决办法]

#define MAXCOLORS 1000
struct stColor
 {
 int nRow;
 int nCol;
 COLORREF rgb;
 } stColors[MAXCOLORS];
int stColorI=0;
 void CListCtrlCl::SetColTextColor(int col,COLORREF color)
 {
 stColor *pColor = stColors+stColorI;
stColorI++;if (stColorI>=MAXCOLORS) {MessageBox("Too many stColors!");exit(1);}
 pColor->nCol = col;
 pColor->rgb = color;
 m_colTextColor.AddTail(pColor);
 }

热点排行