回 帖 发 新 帖 刷新版面

主题:求解作用域问题

#include<iostream.h>
void main()
{
int i=100; int sum=0;
for(int i=0;i<10;i++)
{
    sum+=i;
}
cout<<i<<" "<<sum<<endl;
}
照C++PRIMER书上抄的,为什么会报错,说i重复定义?求高手解答。我用的是V6.0

回复列表 (共2个回复)

沙发

没见过《C++ Primer》,但估计不会出现 iostream.h 而是 iostream,因为1998年就已经废止了 iostream.h

你的代码虽然很离奇,但语法上是没错的,既然编译器报错,那一定是编译器错了,换个好点儿的编译器试试看

板凳

VC6吧,VC6对for循环定义变量支持不标准。所以嘛。。。
int i=100; 
for(int i=0;i<10;i++)
这两句的int i 是相同的作用域,当然会出错啦:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册