永发信息网

关于变量生存周期的问题

答案:4  悬赏:30  手机版
解决时间 2021-04-23 00:28

有以下程序:

void myFun()
{
int i=0;
for(int i=0;i<5;i++)
{
i++;
}
for(int i=0;i<5;i++)
{
i++;
}

}

为什么在 Microsoft Visual Studio 2005下能够成功编译通过,

而在VC6.0环境下老提示以下错误:

Compiling...
TestDlg.cpp
E:\VC++ 6.0\Test\TestDlg.cpp(177) : error C2374: 'i' : redefinition; multiple initialization
E:\VC++ 6.0\Test\TestDlg.cpp(176) : see declaration of 'i'
E:\VC++ 6.0\Test\TestDlg.cpp(180) : error C2374: 'i' : redefinition; multiple initialization
E:\VC++ 6.0\Test\TestDlg.cpp(176) : see declaration of 'i'

我知道重新命名变量名称可以解决这个问题,但是有没有什么方法能够让这段代码在VC 6.0下也能通过,是不是要设置哪个编译参数。

最佳答案

括号里的int去掉


或者把for循环前面的那个int i=0去掉


你看人是不是定义了两个int i;

全部回答
这段代码是错的,全局变量和局部变量名一样,你每申明一个变量就开辟了一个内存,也就是这样两个变量不是同一个变量,程序怎么知道你要用哪一个?
(1) 把下面的for语句中的i换成其它名称; (2) 把两个i的定义统一放在两个for语句之前; (3) 更简单的办法——在代码前面或是在预编绎头文件stdafx.h中加上下面的语句: #define for if(false){}else for
for循环的 两个int 去掉
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么水越洗越脏啊?脑筋急转弯哦!
关于熟能生巧方面作文
七夕给女朋友不超过40字的话
有个人,明明都知道一切,还在那装,是不是走
迁安医药(兴安大药房)地址在什么地方,想过去
漫步者M3 plus黑色升级版 低音箱有点电流感,
为什么当女孩子很烦很累的时候,就想找男孩子
金庸小说经典感人语录,为什么有很多人说《天
我家的DNF为什么一直说有TP非法模块???
我的问问回答问题突然需要验证码了,请问你们
为什么我在QQ上发表投票的时候,好友动态不显
郭氏大厦停车场在哪里啊,我有事要去这个地方
安全生产月横幅标语,今年的安全生产月的主题
他真爱我吗
云南怎么样?处在静静的大山里,气温也挺不错
推荐资讯
QQ音速点图标简单吗
怎样才能把问问升级快
诛仙2NPC头上的图标
求给我一点意见
为什么我家的视频窗口这么小?
是认识这个上面的韩文啊
有关科技论文
北巷口村地址在哪,我要去那里办事
关干预防交通事故的句子
谁有40元以上的拍拍定单号!或帮我开通QQ牧场
OPPO S19能看漫画吗
QQ都有哪些流行简称都是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?