刚学c++,运行以下程序:
#include <iostream>
#include <vector>
#include <string>
using namespacestd;
int main()
{
vector<int>ivec;
for(vector<int>::size_type ix=0;ix!=10;++ix)
ivec.push_back(ix);
std::cout<<ivec<<std::endl;
return 0;
}
运行程序,提示错误: rrorC2679: 二进制“ << ” : 没有找到接受“ std::vector<_Ty> ”类型的右操作数的运算符 ( 或没有可接受的转换 )找了好久,才找到错误根源: ivec是一个vector<int> 类型的,不能一次性输出,只能一个一个输出。类似于数组一样。
修改后程序:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<int> ivec;
for(vector<int>::size_typeix=0;ix!=10;++ix)
ivec.push_back(ix);
for(vector<int>::iterator j=ivec.begin();j!=ivec.end();++j)
cout<<*j<<"";
cout<<endl;
return 0;
}
运行正常。
所以说:基础不牢,地动山摇!