遍历无序映射 C

新手上路,请多包涵

我写了一个程序,它会读取输入,直到你点击“,”——输入处的昏迷。然后它会计算你输入的字母数量,

我想遍历这张地图,但它说 it 不能在没有类型的情况下定义:

 #include <iostream>
#include <conio.h>
#include <ctype.h>

#include <iostream>
#include <string>
#include <tr1/unordered_map>
using namespace std;

int main(){
    cout << "Type '.' when finished typing keys: " << endl;
    char ch;
    int n = 128;
    std::tr1::unordered_map <char, int> map;

    do{
      ch = _getch();
      cout << ch;
      if(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z'){
        map[ch] = map[ch] + 1;
      }
    } while( ch != '.' );

    cout << endl;

    for ( auto it = map.begin(); it != map.end(); ++it ) //ERROR HERE
      cout << " " << it->first << ":" << it->second;

    return 0;
}

原文由 Yoda 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 365
1 个回答

根据 Dorin Lazăr 的回答,另一种可能的解决方案是:

 unordered_map<string, string> my_map;
my_map["asd"] = "123";
my_map["asdasd"] = "123123";
my_map["aaa"] = "bbb";
for (const auto &element : my_map) {
    cout << element.first << ": " << element.second << endl;
}

原文由 Erik Campobadal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏