首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

使用VS2005 编译时经常出错的有关问题 如何解决

2012-01-10 
使用VS2005 编译时经常出错的问题 怎么解决我是看eNet网络学院的视频教程 在学C++ 教程里的是用VC6.0的编

使用VS2005 编译时经常出错的问题 怎么解决
我是看eNet网络学院的视频教程 在学C++ 教程里的是用VC6.0的编译器 我安装的是VS2005但是总有一些搞不明白的问题 比如:按教程里的去练习 
 
  #include <iostream>
using namespace std;
int main()
{
for(int i=0;i<50;i++)
if(i%5==0)
{
cout<<"\n";
}
cout<<i<<"\t";
return 0;
}
编译器就会提示出错

1>正在编译...
1>main.cpp
1>f:\p0\main\main\main.cpp(10) : error C2065: “i”: 未声明的标识符
1>生成日志保存在“file://f:\p0\main\main\Debug\BuildLog.htm”
1>main - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

我是新手 刚开始学习 这些问题很菜 可是.....我不知道如何去解决 请大牛们指点下 要怎么去学习 难道一定要用VC6.0的去学习吗? 那么以后要是用别的编译器怎么办 编译器里的写法有区别 这些区别都是什么那 ?让人郁闷的问题 谁能指点下?谢谢

[解决办法]
??? 先学习C++语法。
看你的错误明显就是C++不熟悉。

标准C++中,for里面定义的循环控制变量是for loop的局部变量。
[解决办法]

C/C++ code
#include <iostream>using namespace std;int main(){for(int i=0;i<50;i++){if(i%5==0){cout<<"\n";}}//已经出了i的作用域了cout<<i<<"\t";return 0;}
[解决办法]
这个是当然的了,
你的i是在for里面定义的,
只能用在for()以及之后的{}里
而你在for之外的地方用了i,当然就不行了

我明白你楼主的意思,其实,你的if是要在for里面的,
那你就应该时刻记得,for,if,while之类的,都要包上{}

这样就没问题了
C/C++ code
#include <iostream>using namespace std;int main(){    for(int i=0;i<50;i++){        if(i%5==0)        {        cout<<"\n";        }        cout<<i<<"\t";    }    return 0;}
[解决办法]
C/C++ code
int i;for(i=0;i<50;i++)if(i%5==0){    cout<<"\n";}cout<<i<<"\t";
[解决办法]
把int i = 0放到上面就好了

热点排行