24小时热门版块排行榜    

查看: 1030  |  回复: 6

martialvv

铁虫 (初入文坛)

[求助] 请问下面这段c++小程序为什么不能运行 已有2人参与

int a = 10; float b = 20;

int *p=new int(a);
cout<<"the pointer to a is "<<*p<<endl;
delete p;
float *p = new float(b);
cout<<"the pointer to b is "<<*p<<endl;
delete p;

我已经把指向a的指针p删掉了,为什么不能再用p来命名指向b的指针呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Boncourage!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzy滴号

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
martialvv: 金币+15 2014-09-25 15:14:32
因为c++程序在编译时要建立一个符号表(可以认为是存储变量基本信息的表), 此时不会分析程序的运行情况, 只是单纯的按字符名字来处理. 所以你的代码中有两个p变量,但在符号表中只会存在一个与p相关的表项,编译器不能确定你到底要把p定义成什么变量,就报错了.
天道酬勤
2楼2014-09-24 22:18:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

martialvv

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by zzy滴号 at 2014-09-24 22:18:32
因为c++程序在编译时要建立一个符号表(可以认为是存储变量基本信息的表), 此时不会分析程序的运行情况, 只是单纯的按字符名字来处理. 所以你的代码中有两个p变量,但在符号表中只会存在一个与p相关的表项,编译器不能 ...

谢谢。那有没有方法从那个表里先把p删除,然后再用他定义别的变量?我是说比较简单易行的方法,比如只用一个运算符做这个事情。还是只能用不同的名字命名?
Boncourage!
3楼2014-09-25 02:08:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzy滴号

金虫 (小有名气)

引用回帖:
3楼: Originally posted by martialvv at 2014-09-25 02:08:30
谢谢。那有没有方法从那个表里先把p删除,然后再用他定义别的变量?我是说比较简单易行的方法,比如只用一个运算符做这个事情。还是只能用不同的名字命名?...

应该没办法,因为C++编译器是一个独立的软件,一般人更改不了,而这个表是编译器产生的。
天道酬勤
4楼2014-09-25 12:36:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (文坛精英)


感谢参与,应助指数 +1
ben_ladeng: 金币+1, 谢谢指教 2014-10-05 10:57:19
本帖仅楼主可见
5楼2014-09-25 14:44:30
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

安靖

银虫 (正式写手)

变量在声明的时候需要明确给出类型,而p在声明的时候是int类型。即使在释放内存后,其类型并不会改变。所以你再去把p指向float的时候就会出问题
6楼2014-09-25 16:31:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人走茶不凉

银虫 (职业作家)

这样也能编译过去?
7楼2014-12-03 11:04:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 martialvv 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 304求调剂 +6 小熊joy 2026-03-14 6/300 2026-03-16 12:59 by Iveryant
[考研] 化学调剂0703 +7 啊我我的 2026-03-11 7/350 2026-03-15 23:03 by 凌千颂111
[考研] 311求调剂 +3 26研0 2026-03-15 3/150 2026-03-15 09:12 by JourneyLucky
[考研] 中科大材料专硕319求调剂 +3 孟鑫材料 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 332分材料工程调剂 +3 莓好时光海苔 2026-03-09 3/150 2026-03-14 02:03 by JourneyLucky
[考研] 调剂 +3 13853210211 2026-03-10 3/150 2026-03-14 00:47 by JourneyLucky
[考研] b区环境工程求调剂 +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[考研] 285 求调剂 资源与环境 一志愿北京化工大学 +3 未名考生 2026-03-10 3/150 2026-03-13 23:04 by JourneyLucky
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +6 步川酷紫123 2026-03-13 6/300 2026-03-13 21:59 by 星空星月
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 333求调剂 +3 球球古力 2026-03-11 3/150 2026-03-13 21:27 by JourneyLucky
[考研] 302求调剂 +6 负心者当诛 2026-03-11 6/300 2026-03-13 16:11 by JourneyLucky
[考研] 工科材料085601 279求调剂 +8 困于星晨 2026-03-12 10/500 2026-03-13 15:42 by ms629
[考研] 314求调剂 +7 无懈可击的巨人 2026-03-12 7/350 2026-03-13 15:40 by JourneyLucky
[考研] 求调剂 +3 程雨杭 2026-03-12 3/150 2026-03-13 15:06 by JourneyLucky
[基金申请] 提交后的基金本子,已让学校撤回了,可否换口子提交 +3 dut_pfx 2026-03-10 3/150 2026-03-11 08:38 by kudofaye
[考研] 298求调剂 +3 Vv呀! 2026-03-10 3/150 2026-03-10 22:40 by 剑诗杜康
[考研] 327分求调剂086 +4 西红柿?小帅 2026-03-09 7/350 2026-03-10 14:47 by ruiyingmiao
信息提示
请填处理意见