gpt4 book ai didi

c++ - 以 vector 为键操作的 map 查找

转载 作者:行者123 更新时间:2023-11-27 23:11:50 27 4
gpt4 key购买 nike

我有一个:map<vector<int>, vector<int>> info

我必须进行搜索。我试试:

Key[0]=1;
Key[1]=3;
Key[2]=1;
test=info.find(key);

在哪里Keytest定义如下:vector<int> Key (3,0)vector<int> test (2,0) .

但这会返回一个编译错误:error: no match for 'operator=' in 'test = .这是什么原因?

最佳答案

find 返回一个迭代器。首先,您需要通过针对 info.end() 进行测试来检查是否确实找到了 key 。然后,您需要从存储在第二对中的值进行赋值。

auto it = info.find(key);
// pre-c++11: std::map<vector<int>, vector<int> >::iterator it = info.find(key)
if (it != info.end())
{
test = it->second;
}

关于c++ - 以 vector 为键操作的 map 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789849/

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