我对C ++非常陌生,正在尝试将字典翻译成C ++格式。我似乎无法从此处提交的先前问题中找到所需的答案。
我的代码如下:
#include <iostream>
#include <map>
using namespace std;
typedef std::map<string, int> BasePairMap;
int main()
{
BasePairMap m;
m['power'] = 0;
m['select'] = 1;
m['backup'] = 2;
...
...
...
m['rewind'] = 71;
m['boxoffice'] = 240;
m['sky'] = 241;
return 0;
}
但是我一直收到字符溢出错误。如何在C ++中将字符串/整数对映射在一起?
谢谢
答案 0 :(得分:2)
尽管许多语言(例如Python)允许开发人员对字符串使用单引号或双引号,但是在C ++中,您需要使用双引号(reference)。 char
类型使用简单的引号来描述单个字符(reference)。
因此您的代码应为:
#include <iostream>
#include <map>
using namespace std;
typedef std::map<string, int> BasePairMap;
int main()
{
BasePairMap m;
m["power"] = 0;
m["select"] = 1;
m["backup"] = 2;
// ...
m["rewind"] = 71;
m["boxoffice"] = 240;
m["sky"] = 241;
return 0;
}