在键值内的无序映射中插入字符对值

时间:2014-02-13 16:13:37

标签: c++ boost map insert unordered-map

我一直在尝试创建一个无序映射,它将(x,y)值作为查找其相应值的键。

例如)x = -1 y = 0我会得到一个符号'$'

我创建了以下无序地图:

static boost::unordered_map<pair<char, char>, char> map;

但是当我尝试将值插入地图时,我遇到了以下问题:

map.insert({ { '-1', '0' }, '$' });

我似乎没有得到正确的地图。

每当我在地图查找中执行以下操作时,我都会得到:

char temp = map[{'-1','0'}];

temp ='0'

非常感谢任何帮助,

谢谢你, 人

1 个答案:

答案 0 :(得分:2)

'-1'是一个多字符常量,其值可能超出char的范围。如果您要使用值-10,请删除引号。

为了便于携带,如果值可能为负,则应使用保证签名的类型(如intsigned char)。否则,如果您更改为提供无符号char的编译器,您可能会感到惊讶。