Doctor Hospital::findDoctor(const Doctor &doctor) {
map<int, Doctor>::iterator iter = find(hospitalInner->doctors.begin(), hospitalInner->doctors.end(), 5);
}
Run Code Online (Sandbox Code Playgroud)
Hy,我对这个确切的方法有一些问题.也许有人知道问题出在哪里?(我正在添加当前错误.)
错误C2678:二进制'==':找不到哪个运算符带有'std :: pair'类型的左操作数(或者没有可接受的转换)C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\VC\include\xutility 3026 1 hospital5
要使用特定键查找元素,请使用成员find函数(而不是std::find算法):
map<int, Doctor>::iterator iter = hospitalInner->doctors.find(5);
Run Code Online (Sandbox Code Playgroud)
您可以实现此目的std::find,但您必须编写一个自定义比较器来检查映射first中每个成员的成员std::pair(std::map将其键和值存储为std::pairs).
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |