【问题标题】:Insert pair values of characters in an unordered map within the key value在键值内的无序映射中插入字符对值
【发布时间】:2014-02-13 16:13:37
【问题描述】:

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

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

我创建了以下无序地图:

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

但是当我尝试在地图中插入值时遇到问题:

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

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

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

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

温度 = '0'

任何帮助将不胜感激,

谢谢你, 铝

【问题讨论】:

  • 我不知道这是否是您的问题的原因,但'-1' 是一个多字符常量,其值可能超出了char 的范围。如果您打算使用值 -10,请删除引号。
  • 感谢您确实解决了问题,如果您回答我将选择正确答案!

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多