一个c++的程序调试出了问题,请大神给看看,我用vs2010分步调试好像是 return 处有了问题
一个c++的程序调试出了问题,请大神给看看,我用vs2010分步调试好像是 return 处有了问题
日期:2012-10-05 00:21:08 人气:1
list fun(string s)
{
list ll;
wordnode *p;
p=new wordnode;
p->s=s;
p->lst.add(3);
ll.add(*p);
return (ll);
}
返回一个局部变量地址是错误的,在栈上的数据是不会保留的函数return的时候
list ll;也被释这样就出错了。
解决方法1 返回一个堆上的数据自己new出来,这样会有内存泄漏 记得释放 所以这个函数应该类似这样
list× fun(st