回来指向不在作用域中的对象的引用
返回指向不在作用域中的对象的引用SimpleCat & TheFunction(){SimpleCat Frisky(5,10)return Frisky}//
返回指向不在作用域中的对象的引用
SimpleCat & TheFunction()
{
SimpleCat Frisky(5,10);
return Frisky;
}
// 上述返回局部对象的引用
我把他改成下面这样为什就可以了?希望前辈门跟我说说是什么道理? 如果有代码加以说明会更好,我很菜啦~
SimpleCat & TheFunction()
{
SimpleCat *Frisky = new SimpleCat(5,9);
return *Frisky;
}
[解决办法]栈上的数据随着函数结束就被释放了.
[解决办法]恩。是这样的
[解决办法]临时变量作用域只在函数范围内,出了函数就被销毁了,new了一个指针在堆上,直到delete或者程序结束时才被销毁。