“void std::vector>::push_back错误

jl1159734225 2017-09-17 06:02:47
#include<iostream>
#include<iterator>
#include<vector>
using namespace std;
using std::iterator;
using std::vector;
int main()
{ vector<int> v1;
vector<int> v2;
vector<int >::iterator it;
for (it = v2.begin(); it != v2.end(); ++it) {//遍历v2,赋值给v1
v1.push_back(it);
}
}
求大神指教,为什么这里push-back不能用

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2664 “void std::vector<int,std::allocator<_Ty>>::push_back(const int &)”: 无法将参数 1 从“std::_Vector_iterator<std::_Vector_val<std::_Simple_types<int>>>”转换为“int &&” text1 f:\c\project\text1\text1\t1cpp.cpp 47
...全文
1105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuangbao9 2017-09-18
  • 打赏
  • 举报
回复
你都定义了it是iterator类型了,你直接push_back it肯定出错呀,你要it对应的值push_back既不去呀,用*it
xu19841209 2017-09-17
  • 打赏
  • 举报
回复
it是指针啊,应该取值*it

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧