关于变量生存期的问题

hpd115 2009-04-21 10:11:40
void test()
{
for( int i=0; ; )
{
A1
}

A2
}


写得可能有点简单,大家凑合看下

这个变量i在A1里肯定有效,但当for结束后,i还能在A2里用么????

是不是这个跟编译器有关?
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXW0521 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
跟编译器有关,试过

for(inti;;;)
for(int i;;;)

这样有的会重定义.
[/Quote]

这个在vc6是有问题的,
是不是定义在大括号里面的也有问题阿,
ZXW0521 2009-04-21
  • 打赏
  • 举报
回复
应该不能,A1只能在FOR语句中使用,
和编译器没有关系
  • 打赏
  • 举报
回复
跟编译器有关,试过

for(inti;;;)
for(int i;;;)

这样有的会重定义.
baiwei156 2009-04-21
  • 打赏
  • 举报
回复
和编译器有关的。。。

在vc9下是在A2里不可以用的

但我看过别人写的vc6代码
好像是可以的
Jinhao 2009-04-21
  • 打赏
  • 举报
回复
不能用,但是VC6下可以用,这不是C++的规则
coverallwangp 2009-04-21
  • 打赏
  • 举报
回复
不能

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧