error: 'class std::unordered_multimap<std::__cxx11::basic_string<char>, QWidget*>' has no member named 'lower_bound' auto ite = m_mIdMapWidget.lower_bound(frame.m_sMemberID); ^~~~~~~~~~~
时间: 2023-10-26 19:04:42 浏览: 42
这个错误提示意味着你在 `std::unordered_multimap<std::__cxx11::basic_string<char>, QWidget*>` 类型的对象上调用了 `lower_bound` 函数,但该类型并没有名为 `lower_bound` 的成员函数。
`std::unordered_multimap` 类型的对象本身是支持 `lower_bound` 函数的,因此出现这个错误的原因可能是因为你的头文件或命名空间有误。
请确保在代码中包含了正确的头文件,并且在使用 `lower_bound` 函数时使用了 `std` 命名空间,例如:
```cpp
#include <unordered_map>
int main()
{
std::unordered_multimap<std::string, QWidget*> m_mIdMapWidget;
// 使用 lower_bound 函数
auto ite = m_mIdMapWidget.lower_bound("member_id");
// ...
}
```
如果你已经使用了正确的头文件和命名空间,但仍然遇到这个错误,请检查你的编译选项是否正确。如果使用了一些较旧的编译器,可能需要在编译时指定 `-std=c++11` 或更高版本的标准以支持 C++11 的新特性。
相关问题
std::unordered_map<std::string,std::string>
std::unordered_map<std::string, std::string>是C++标准库中的一个容器,用于存储键值对。是一个哈希表实现的关联容器,可以根据键快速查找对应的值。其中,键和值都是字符串类型。
unordered_map使用哈希函数将键映射到桶中,以实现快速的查找和插入操作。它的插入、删除和查找操作的平均时间复杂度都是常数级别的,即O(1)。
unordered_map中的键是唯一的,每个键只能对应一个值。如果插入了重复的键,则新值会覆盖旧值。
unordered_map提供了丰富的成员函数和操作符重载,可以方便地进行元素的插入、删除、查找和遍历等操作。
std::unordered_set<std::string>()
std::unordered_set<std::string>()是一个创建空的unordered_set对象的语法。unordered_set是C++标准库中的一个容器,它可以存储唯一的键值对。unordered_set<std::string>表示存储字符串类型的unordered_set对象。通过调用std::unordered_set<std::string>(),我们可以创建一个空的unordered_set<std::string>对象。这个对象不包含任何元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [std::unordered_set](https://blog.csdn.net/TimerSea/article/details/128069953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]