gpt4 book ai didi

c++ - OOP 迭代器和查找方法无法正常工作

转载 作者:行者123 更新时间:2023-11-30 00:49:43 25 4
gpt4 key购买 nike

Doctor Hospital::findDoctor(const Doctor &doctor) {
map<int, Doctor>::iterator iter = find(hospitalInner->doctors.begin(), hospitalInner->doctors.end(), 5);
}

嗨,我在使用这个确切方法时遇到了一些问题。也许有人知道问题出在哪里? (我正在添加当前错误。)

错误 C2678:二进制“==”:未找到采用“std::pair”类型的左侧操作数的运算符(或没有可接受的转换)C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility 3026 1 医院 5

最佳答案

要查找具有特定键的元素,请使用成员 find函数(而不是 std::find 算法):

map<int, Doctor>::iterator iter = hospitalInner->doctors.find(5);

您可以使用 std::find 实现此目的,但您必须编写一个自定义比较器来检查每个 std::pair 的 first 成员 在映射中(std::map 将其键和值存储为 std::pair)。

关于c++ - OOP 迭代器和查找方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27427709/

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