24小时热门版块排行榜    

查看: 1284  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 18:22 by 7huP8NPKZCp9
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 k0dTPqJtl0jt 2026-08-14 3/150 2026-08-15 18:10 by 7huP8NPKZCp9
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 7lpolszZVXgi 2026-08-14 7/350 2026-08-15 17:58 by 7huP8NPKZCp9
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 7lpolszZVXgi 2026-08-14 6/300 2026-08-15 17:58 by 7huP8NPKZCp9
[基金申请] 时间戳又变了8-15 +11 archvillain 2026-08-15 20/1000 2026-08-15 17:47 by 医学老男孩
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +27 医学老男孩 2026-08-13 58/2900 2026-08-15 15:57 by GZUZM
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 HFw0lei2R37i 2026-08-14 8/400 2026-08-15 14:41 by QXtWNz7PI7wZ
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 HFw0lei2R37i 2026-08-14 9/450 2026-08-15 11:33 by KxMI1BYBxWX1
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 07:09 by 4wMiSEwB6436
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 00:16 by 4wMiSEwB6436
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见