簡體   English   中英

顯示哈希圖值C ++

[英]Display Hash-Map Value C++

創建哈希圖並輸出其鍵值的簡單程序。

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::pair std::cout不匹配,您會得到一個錯誤,因此, key_1直接使用key_1key_1.first嘗試使用key_1獲取地圖的key_1.second ,或者嘗試key_1.first獲取地圖的映射值。地圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM