| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 596 人关注过本帖
标题:真是奇怪,
只看楼主 加入收藏
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
真是奇怪,
具我了解 在 for()括号里定义的变量作用域应该只是 for循环内部有效吧,可是今天作题目的时候

突然发现有这样的错误,真是一头雾水啊,

就这样的程序

我的 vc6 说error C2374: 'i' : redefinition; multiple initialization
看样子好像是说 i 重复定义了

说明一下 ,我写的时候是CPP文件,这个应该问题不大,C和CPP应该都相通的嘛

是不是编译器什么地方的设置被我不小心改了,还是我记错了,难道在 for 圆括号里定义的变量在循环外部也可用??

int main()
{
    for(int i=0;i<3;i++)
    {
    }
    for(int i=0;i<3;i++)
    {
    }
    return 0;
}

搜索更多相关主题的帖子: multiple 编译器 
2010-05-31 03:00
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
c和c++是相通的, 但是.c 和 .cpp却不是相通的,/

我就是真命天子,顺我者生,逆我者死!
2010-05-31 08:28
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
这位先生,原来你这么爱纠结在相通不相通的问题上啊,那只是小问题

最重要的问题是 变量 i 为什么会重复定义了呢?应该是局域变量才对啊,
2010-05-31 08:40
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 3楼 bccn250
确实是我理解错了,

我就是真命天子,顺我者生,逆我者死!
2010-05-31 08:48
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 3楼 bccn250
在for语句块里面定义的变量才是属于for语句块的局部变量

我就是真命天子,顺我者生,逆我者死!
2010-05-31 08:50
xiaomanaruto
Rank: 6Rank: 6
等 级:侠之大者
帖 子:79
专家分:443
注 册:2010-4-1
收藏
得分:10 
for(int i=0;i<3;i++)
    {
    }
    for(int i=0;i<3;i++)
    {
    }
你确实对于i进行了重复定义,后者去掉int就行了,还有就是那根编译环境没关系,在c里也会出错的
2010-05-31 10:41
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:10 
终于下班了,我纠结了一上午, 我试了楼主的代码,的确有一个 warning,
楼主的代码 我感觉也是正确的, c++学的不好, 期待高手来解决吧 ,/

我就是真命天子,顺我者生,逆我者死!
2010-05-31 11:33
快速回复:真是奇怪,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020423 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved