显示哈希映射值C++

Display Hash-Map Value C++

本文关键字:C++ 映射 哈希 显示      更新时间:2023-10-16

创建哈希映射并输出其键值的简单程序。

std::hash_map<int, std::vector<char>> numPad;
for (auto const key_1: numPad) 
    {
      for (auto const key_2: key_1.second) 
      {        
        std::cout << key_1; // Does NOT work! (*error*)
        std::cout << key_2; // Works!
      }
    }

我得到以下错误:

(错误(错误1错误C2679:二进制'<<':找不到接受'const std::pair<const _Kty,_Ty>'类型右侧操作数的运算符(或没有可接受的转换(

如何在不出现此错误的情况下显示key_2值?

在基于范围的for循环中使用时,std::map将使用std::pair迭代。因为std::coutstd::pair不匹配,所以会出现错误,所以不要直接使用key_1,而是尝试key_1.first获取映射的键值,或者key_1.second获取映射的映射值。