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

帮小弟我找找程序段中的异常(可能是“返回值是局部变量的引用”)

2012-02-28 
帮我找找程序段中的错误(可能是“返回值是局部变量的引用”)!以下是朋友问我的一道找错题目。以下代码段有错

帮我找找程序段中的错误(可能是“返回值是局部变量的引用”)!
以下是朋友问我的一道找错题目。
以下代码段有错误,请指出来(很严重的错误!)。
我看了很久,认为是“返回值是局部变量的引用”这个错误。但是我在VC++.NET   2005,能编译通过,并且运行正常。请问是这个错误正确吗?如果不是,真正的错误是什么呢?

class   Complex
{
public:
double   real,   imag;
Complex(double   real   =   0.0,   double   imag   =   0.0)
{
  Complex::real   =   real;
  Complex::imag   =   imag;
}
    };

  Complex&   operator+(   Complex&   a,   Complex&   b)
  {
        Complex   *p   =   new   Complex;
        p-> real   =   a.real   +   b.real;
        p-> imag   =   a.imag   +   b.imag;
        return   *p;
    }

[解决办法]
是内存泄漏。凡new就必须有delete

热点排行