| 查看: 914 | 回复: 11 | ||
| 本帖产生 1 个 程序强帖 ,点击这里进行查看 | ||
[求助]
C++求助
|
||
|
#include #include using namespace std; char *getname(void); int main() { char *name; name=getname(); cout< name=getname(); cout< return 0; } char *getname() { char temp[80]; cout<<"enter the name:"; cin>>temp; char *pn=new char(strlen(temp)+1); strcpy(pn,temp); return pn; } |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有9人回复
最失望的一年
已经有17人回复
为什么nbs上溴 没有产物点出现呢
已经有6人回复
求推荐博导
已经有4人回复
存款400万可以在学校里躺平吗
已经有34人回复
求助一下有机合成大神
已经有4人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
疑惑?
已经有5人回复
2楼2011-11-04 11:10:10

3楼2011-11-04 14:58:23
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
4楼2011-11-04 15:37:29
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
5楼2011-11-04 15:39:51

6楼2011-11-04 16:32:57
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
★
jjdg(金币+1): 感谢参与 2011-11-04 23:41:44
jjdg(金币+1): 感谢参与 2011-11-04 23:41:44
|
the application wrote to memory after end of heap buffer. 就是写越界了 刚才说的你混淆了堆和栈,说的是有关“生命期”的理解的问题。 char *getname() { char temp[80]; cout<<"enter the name:"; cin>>temp; char *pn=new char(strlen(temp)+1);//这里分配了局部指针 //虽然pn是局部指针,但是对于堆里面的内存,如果不delete掉或者进程结束,将一直处于“有生命”的状态 strcpy(pn,temp); return pn;//这里返回这个指针,但是在函数返回后,这个变量的生命期已经结束了。 //嗯,虽然pn的生命期确实已经结束,但是,它的值指向的内存块的生命期还在 } |
7楼2011-11-04 17:04:26
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
8楼2011-11-04 17:08:52
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
9楼2011-11-04 17:15:51
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
10楼2011-11-04 17:20:01













回复此楼
这个解释是不对的~你搞混了栈和堆
嗯借此机会了解一下不同编译器在debug下,编译程序时加入的一些检查手法也大有裨益~