gpt4 book ai didi

c++ - 我正在尝试创建一个使用指针算术返回一对的方法,但是它会出错?

转载 作者:行者123 更新时间:2023-11-28 05:40:00 26 4
gpt4 key购买 nike

我正在尝试使用迭代器从名为 map <int, vertex> nodemap 的 map 中返回一对但是我遇到了一个错误,上面写着:error: invalid operands to binary expression ('std::map<int, vertex>::iterator' (aka '__map_iterator<typename __base::iterator>') and 'int') std::pair<int, vertex> node = *(it + v);

下面是我的函数代码:

std::pair<int, vertex> Graph::getMap(int v)
{
std::map <int, vertex>::iterator it = nodemap.begin();
std::pair<int, vertex> node = *(it + v);
return node;
}

我假设指针运算是可能的,并且映射由 Stack Question 中提到的对组成.

感谢您的帮助!

最佳答案

std::map 返回 bidirectional iterator , 不支持加法。您可以使用 std::advance(it, v);,但是,我不确定您为什么要这样递增 map::iterator。如果您想使用键 v 检索 vertex,您将使用:

std::map <int, vertex>::iterator it = nodemap.find(v);

关于c++ - 我正在尝试创建一个使用指针算术返回一对的方法,但是它会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337862/

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