c++中new 问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:42:20
一个程序,一模一样写了两次,一个正常,另外一个看了几遍也没看出问题,请教~~~~现在运行结果第一个会显示*pHeap=7,第二行就是“error”内容了
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int localVariable = 5;
int *pLocal = &localVariable;
int *pHeap = new int;
if(pHeap== NULL)
{
cout << "Error!No memory for pHeap!!";
return 1;
}
*pHeap = 7;
cout << "*pHeap: " << *pHeap << "\n";
delete pHeap;
pHeap = new int;
if(pHeap == NULL);
{
cout << "Error!No memory for pHeap!!";
return 1;
}
*pHeap = 9;
cout << "*pHeap: " << *pHeap << "\n";
delete pHeap;
return 0;
}

if ( pHeap == NULL ); //<------很简单,看到这个分号没有,知道怎么做了把
{
cout << "Error!No memory for pHeap!!";
return 1;
}

我真是晕了
你if()后面加 ;干什么~~~
if(pHeap == NULL);
{
cout << "Error!No memory for pHeap!!";
return 1;
}

这样不仔细阿!

下次用文件比较软件比一下,再说一模一样吧。。