#include <iostream.h>
int Fn1();
int main()
{
int a = Fn1();
cout << "the value of a is: " << a;
return 0;
}
int Fn1()
{
int * p = new int (5);
return *p;
}
#include <iostream.h>
int* Fn1();
int main()
{
int *a = Fn1();
cout << "the value of a is: " << *a;
delete a;
return 0;
}
int* Fn1()
{
int * p = new int (5);
return p;
}
解:
此程序中给*p 分配的内存没有被释放掉。
改正:
#include <iostream.h> int* Fn1(); int main() { int *a = Fn1(); cout << "the value of a is: " << *a; delete a; return 0; } int* Fn1() { int * p = new int (5); return p; }