这段代码有问题吗?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++)