首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >std::map<std::any,std::any>麻烦

std::map<std::any,std::any>麻烦
EN

Stack Overflow用户
提问于 2019-09-23 08:45:50
回答 1查看 907关注 0票数 1

我正在尝试用std:map类型的键和值来制作一个std::any

2017

代码语言:javascript
运行
复制
std::map<std::any, std::any> m("lastname", "Ivanov");
std::cout << std::any_cast<std::string>(m["lastname"]) << std::endl;

给我一个

错误:二进制“<”:没有找到任何操作符,它接受'const_Ty‘类型的左操作数

EN

回答 1

Stack Overflow用户

发布于 2019-09-23 12:30:59

std::any没有二进制的“<”操作程序(小于)。如何“索引”std::map元素的默认方法。

解决办法可包括:

  1. 使用另一个键(有运算符'<')
  2. 使用自定义比较器,例如: #include #include # int (){ auto = std::initializer_list>{};auto =std::map(元素,const std::any& lhs,const std::any& rhs{返回false;});}

然后实现比较函数,而不是返回false

自己试试看

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58058719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档