注册 登录
编程论坛 C++教室

求指导一道关于vector的问题错在哪

nothingness 发布于 2013-05-16 18:39, 590 次点击
//:lx5:xy.cpp
#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;
}///"~
请问这个代码错在哪里?
8 回复
#2
peach54602013-05-16 18:44
编译器说什么
#3
Mr黑绵羊2013-05-16 18:57
int main()改为void main(),我的编译器还有个'i' : redefinition;把第二个for(int i=0;i<v.size();i++)改为for(i=0;i<v.size();i++)就可以了
#4
rjsp2013-05-17 08:54
除了一个小错误之外,别无其他错误,3楼说的都是错误的。

v.size() 是 size_t 类型,而你的 i 却是 int 类型。
程序代码:
#include <iostream>
#include <vector>
using namespace std;

int main()
{
   vector<int> v;
   v.reserve( 10 );
   for( int i=0; i<10; ++i )
       v.push_back(i);
   for( size_t i=0; i<v.size(); ++i )
       cout << v[i] << ", ";
   cout << endl;

   return 0;
}

#5
peach54602013-05-17 10:17
以下是引用rjsp在2013-5-17 08:54:48的发言:

除了一个小错误之外,别无其他错误,3楼说的都是错误的。

v.size() 是 size_t 类型,而你的 i 却是 int 类型。
#include <iostream>
#include <vector>
using namespace std;

int main()
{
   vector<int> v;
   v.reserve( 10 );
   for( int i=0; i<10; ++i )
       v.push_back(i);
   for( size_t i=0; i<v.size(); ++i )
       cout << v << ", ";
   cout << endl;

   return 0;
}

size_t和int叶无关紧要啊,最多是个warning
楼主说编不过,我真心没看出来哪里有问题
#6
nothingness2013-05-17 18:17
回复 4楼 rjsp
我按照你的代码试了,还是不好用啊
#7
nothingness2013-05-17 18:19
回复 2楼 peach5460
- 1 error(s), 0 warning(s)
#8
nothingness2013-05-17 18:20
回复 3楼 Mr黑绵羊
按照你的回答修改了一下代码,但是还是无法编译
#9
Mr黑绵羊2013-05-17 20:19
回复 8楼 nothingness
你应该把编译器的错误信息帖出来的。。。
1