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

这段代码有有关问题吗

2012-08-14 
这段代码有问题吗?C/C++ code#include IOSTREAM#include VECTORusing namespace stdint main(){vecto

这段代码有问题吗?

C/C++ code
#include <IOSTREAM>#include <VECTOR>using namespace std;int main(){    vector<int> v;    for (int i=0; i<10; i++)    {        v.push_back(i);    }    for (int i=0; i<v.size(); i++)    {        cout <<v[i] <<", ";    }    cout<<endl;    for(int i=0; i<v.size(); i++)    {        v[i] = v[i] * 10;    }    for (int i=0; i<v.size(); i++)    {        cout<<v[i]<<", ";    }    cout<<endl;    return 0;}




--------------------Configuration: everydaystudy - Win32 Debug--------------------
Compiling...
main.cpp
D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(13) : error C2374: 'i' : redefinition; multiple initialization
  D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(8) : see declaration of 'i'
D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(20) : error C2374: 'i' : redefinition; multiple initialization
  D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(8) : see declaration of 'i'
D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(25) : error C2374: 'i' : redefinition; multiple initialization
  D:\My Documents\Visual Studio Projects\everydaystudy\main.cpp(8) : see declaration of 'i'
Error executing cl.exe.

everydaystudy.exe - 3 error(s), 0 warning(s)


[解决办法]
VC6把 换个编译器把
[解决办法]
#include <IOSTREAM>
#include <VECTOR>

IOSTREAM和VECTOR至少全部是小写吧。
[解决办法]
编译器太旧了。
建议升级编译器吧。
如果楼主是VC6,赶快换,VC6对模板的支持很不好。
建议vs2005以上
[解决办法]
与模板无关,如果是VC6的话,FOR循环中定义的变量,其作用域可以在循环体之外,所以产生重定义,把后面三个for 中 的int 去掉就好了。

三楼的蝈蝈应该是玩linux的,windows上文件名大小写不敏感
[解决办法]
int i=0;
C重定义了变量i,i并不是再循环体里定义的变量。而是应该是属于循环体外。
[解决办法]
size()函数存在吗
[解决办法]
vc6,鉴定完毕
[解决办法]
如果用的是VC6.0, 那么for括号中定义的变量在for以后语句仍然有效,因此楼主程序中会出现i重定义错误。因为vc6.0对C++标准支持的不怎么样。可以在main函数开头定义个i,然后在每个for中使用它,如:
 
 int i = 0;
 ...
 for(i = 0; i < v.size(); i++)

热点排行