游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3188|回复: 2

请教这个问题 无法从“std::_Vector_iterator<_Ty,_Alloc&

[复制链接]

23

主题

39

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2009-9-24 14:49:00 | 显示全部楼层 |阅读模式
vc6下正常编译
vc8下出现
错误一 无法从“std::_Vector_iterator<_Ty,_Alloc>”转换为“std::string *”
错误二  error C2679: 二进制“!=”: 没有找到接受“std::_Vector_iterator<_Ty,_Alloc>”类型的右操作数的运算符(或没有可接受的转换)

代码:

int gCharArchive::GetTexID(string tname, VECTOR_STRING &arTex)
{
错误一         string *s = find(arTex.begin(), arTex.end(), tname);

错误二        if (s != arTex.end())
                return s - arTex.begin();



[em5]

23

主题

39

帖子

57

积分

注册会员

Rank: 2

积分
57
 楼主| 发表于 2009-9-24 15:40:00 | 显示全部楼层

Re:请教这个问题 无法从“std::_Vector_iterator<_Ty,_Alloc>

VECTOR_STRING 的定义为  typedef vector &lt;string&gt;        VECTOR_STRING;

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2009-9-24 15:52:00 | 显示全部楼层

Re:请教这个问题 无法从“std::_Vector_iterator<_Ty,_Alloc>

严格的说string *s不是一个迭代器。find返回的是一个迭代器。

VECTOR_STRING::Iterator s = find.......

这样应该就可以了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-6 07:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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