我一直在尝试创建一个无序映射,它将(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'
非常感谢任何帮助,
谢谢你, 人
答案 0 :(得分:2)
'-1'
是一个多字符常量,其值可能超出char
的范围。如果您要使用值-1
和0
,请删除引号。
为了便于携带,如果值可能为负,则应使用保证签名的类型(如int
或signed char
)。否则,如果您更改为提供无符号char
的编译器,您可能会感到惊讶。