VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 155|回复: 3

[求助] vector容器使用位置错误-老大求助

[复制链接]
00_avatar_middle


代码如下
Object* LookingForObjectId(HWND hWnd,UINT X,UINT Y)
{
         Object* pThis = NULL;       
     vector<Object*>::iterator it;
          for (it = g_Objects.begin(); it != g_Objects.end(); it++){

          }



        return  pThis;
}
报错如下
/////////////////////////////////////////////////
>------ 已启动生成: 项目: EngineUI, 配置: Debug Win32 ------
1>正在编译...
1>Global.cpp
1>c:\users\administrator\desktop\engineui\engineui\global.cpp(118) : error C2679: 二进制“=”: 没有找到接受“std::_Vector_iterator<_Ty,_Alloc>”类型的右操作数的运算符(或没有可接受的转换)
1>        with
1>        [
1>            _Ty=LPVOID ,
1>            _Alloc=std::allocator<LPVOID >
1>        ]
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector(405): 可能是“std::_Vector_iterator<_Ty,_Alloc> &std::_Vector_iterator<_Ty,_Alloc>::operator =(const std::_Vector_iterator<_Ty,_Alloc> &)”
1>        with
1>        [
1>            _Ty=Object *,
1>            _Alloc=std::allocator<Object *>
1>        ]
1>        试图匹配参数列表“(std::_Vector_iterator<_Ty,_Alloc>, std::_Vector_iterator<_Ty,_Alloc>)”时
1>        with
1>        [
1>            _Ty=Object *,
1>            _Alloc=std::allocator<Object *>
1>        ]
1>        and
1>        [
1>            _Ty=LPVOID ,
1>            _Alloc=std::allocator<LPVOID >
1>        ]
1>c:\users\administrator\desktop\engineui\engineui\global.cpp(118) : error C2678: 二进制“!=”: 没有找到接受“std::_Vector_iterator<_Ty,_Alloc>”类型的左操作数的运算符(或没有可接受的转换)
1>        with
1>        [
1>            _Ty=Object *,
1>            _Alloc=std::allocator<Object *>
1>        ]
1>        c:\program files\microsoft sdks\windows\v6.0a\include\guiddef.h(197): 可能是“int operator !=(const GUID &,const GUID &)”
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector(214): 或       “bool std::_Vector_const_iterator<_Ty,_Alloc>::operator !=(const std::_Vector_const_iterator<_Ty,_Alloc> &) const”
1>        with
1>        [
1>            _Ty=Object *,
1>            _Alloc=std::allocator<Object *>
1>        ]
1>        试图匹配参数列表“(std::_Vector_iterator<_Ty,_Alloc>, std::_Vector_iterator<_Ty,_Alloc>)”时
1>        with
1>        [
1>            _Ty=Object *,
1>            _Alloc=std::allocator<Object *>
1>        ]
1>        and
1>        [
1>            _Ty=LPVOID ,
1>            _Alloc=std::allocator<LPVOID >
1>        ]
1>生成日志保存在“file://c:\Users\Administrator\Desktop\EngineUI\EngineUI\Debug\BuildLog.htm”
1>EngineUI - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========




上一篇:通过载入资源添加多个组合快捷键
下一篇:VS 重复编译问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 6 天前 | 显示全部楼层
g_Objects 的类型是 vector<Object*> 吗?
貌似迭代器 it 跟 vector<Object*> 的类型不一致

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

00_avatar_middle
ico_lz  楼主| 密码错误 发表于 5 天前 来自手机 | 显示全部楼层
LPVOID型的

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 5 天前 | 显示全部楼层

那肯定不行了,vector 容器是什么类型的,用迭代器进行遍历的时候就要什么类型,所以如果 vector 容器是 g_Objects 是 vector<Object*> 类型的,那么迭代器就要用 vector<Object*>::iterator it 进行遍历,如果 g_Objects 是 vector<int*> 类型的,那么迭代器就要用 vector<int*>::iterator it 进行遍历,以此类推!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-16 12:20

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表