回 帖 发 新 帖 刷新版面

主题:[讨论]{{惊讶}}谁能告诉我错在哪?

最新在看《深度探索C++对象模型》关于new和delete操作符。有些迷惑。
随手写了一个,但不知道错误的本质在哪?
有谁知道,请赐教!
代码如下:
[color=FF00FF][size=2][b]class a
{
          int *p;
public:
    a(){p=new int[5];}    
};
void main()
{
    a A;
    a *p=&A;
    delete p;        
}[/b][/size][/color]

回复列表 (共1个回复)

沙发

p 不是通过new分配的,delete 当然错误。

可见你的C++学得很差,建议你多多上机,调试程序,充分理解类的概念,堆栈的概念。

我来回复

您尚未登录,请登录后再回复。点此登录或注册