gpt4 book ai didi

c++ - 返回迭代器

转载 作者:搜寻专家 更新时间:2023-10-31 00:24:23 24 4
gpt4 key购买 nike

我有一个搜索 STL 容器然后在找到位置时返回迭代器的函数,但是我收到一些有趣的错误消息,可以告诉我我做错了什么吗?

功能:

std::vector< CClass >::iterator CClass::SearchFunction( const std::string& strField )
{
...

return it;

...
}

错误:

error C2664: 'std::_Vector_iterator<_Ty,_Alloc>::_Vector_iterator(const std::_Vector_iterator<_Ty,_Alloc> &)' : cannot convert parameter 1 from 'std::_Vector_const_iterator<_Ty,_Alloc> *__w64 ' to 'const std::_Vector_iterator<_Ty,_Alloc> &'

最佳答案

您的搜索函数正在返回一个 const_iterator。您应该返回相同的类型,即 std::vector< CClass >::const_iterator ,或将其转换为 std::vector< CClass >::iterator如果您希望调用者能够通过迭代器修改找到的项目。

编辑:看到您的更新后,问题似乎是您的迭代器(它)的类型与您的函数返回不同。它们应该是相同的。

std::vector< CClass >::iterator it;

关于c++ - 返回迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/314012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com