标题:释放内存的时候为何程序崩溃了
取消只看楼主
s_k_y
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2008-2-2
结帖率:44.44%
已结贴  问题点数:7 回复次数:1 
释放内存的时候为何程序崩溃了
class CMyStack
{
public:
    CMyStack(int iNum);
    void SetNum(int iNum)
    {
        m_pData[iCount++] = iNum;

    }
    ~CMyStack()
    {
        delete []m_pData;
        m_pData = NULL;
    }
private:
    int *m_pData;
    int iCount;
};

CMyStack::CMyStack(int iNum)
{
    m_pData = new int(iNum);
    iCount = 0;
}


void main()
{   
    CMyStack *pMyStack = new CMyStack(2);
    for (int i=0;i<2;i++)
    {
        pMyStack->SetNum(i);
    }
      delete pMyStack;
}
//程序意图就是对私有数据成员m_pData 开辟空间 并且存入数据,但是释放时为何出错了?难道不能这样用吗?
搜索更多相关主题的帖子: void private public 
2011-04-18 17:24
s_k_y
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2008-2-2
得分:0 
谢谢 版主
是那个地方给写错了
2011-04-19 00:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337118-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.690750 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved