当前位置: 首页 > 知识库问答 >
问题:

使用地图时未定义二进制比较

钮鸿煊
2023-03-14

我正在寻找一种将 string[] 作为映射值的方法,我发现了这个堆栈溢出问题。我尝试使用 std::任何类型来解决我的问题,但出现错误

二进制'

这是我的代码:

#include <iostream>
#include <map>
#include <any>
using namespace std;
map<any,any> dat;
int main()
{
    any s[] = {"a","b"};
    dat["text"] = s;
    return 0;
}

共有1个答案

唐弘益
2023-03-14

默认情况下,std::map要求键类型与相当

如果你真的想在map中使用它作为一个键,你需要实现你自己的比较器,见这个问题。

然而,比较器需要定义弱严格顺序。为std::any定义这可能并不容易。

映射

如果要将<code>std::string</code>数组作为键或值类型,请使用<code>std::array

< code>std::map将开箱即用地处理这些类型。

std::any只有很少的用例,如果你没有一个非常具体的理由来使用它,你可能不应该尝试使用它。

 类似资料:
  • 问题内容: 我正在从teamtreehouse.com制作一个非常基本的React应用程序,并且不断遇到 “ TypeError:无法读取未定义的属性’onPlayerScoreChange’” 即使我正确绑定了我的功能(我认为) 是组件中的一种方法,当用户单击“ +”或“-”按钮以更改玩家得分时执行。 如果有人可以解释什么地方出了错,那将非常有帮助,因为我认为我是在曾祖父母的构造函数中进行设置的

  • 我想检测到鲍勃在以下情况下将城市从伦敦改为巴黎:

  • 使用 ggplot/geom_sf 绘制地图时,映射到美学的任何图层都将在图例中表示。我还知道,使用 可用于强制图例表示和操作使用的符号系统(点、线、面)。但是,当绘制简单对象而无需进一步将它们映射到美学时,即使用颜色/填充来显示附加信息时,不会给出图例条目。使用 时似乎也是如此。我在GitHub上发现了这个问题:https://github.com/tidyverse/ggplot2/issue

  • 问题内容: 我正在寻找一种将二进制数字转换为十六进制(JAVA)的方法。问题在于它不能使用预定义的方法来完成,而我只是不知道如何去做。我已经尝试了一些方法,但是使我无法接受包含字符的十六进制数。 提前致谢! 问题答案: 根据您的要求,首先必须将二进制no转换为十进制,然后转换为十六进制。因此,请尝试按照您的要求运行该程序: 如果您有任何疑问,请告诉我。 谢谢…

  • 问题内容: 因此,我使用Java Swing为我的应用程序构建UI,并使用自定义图像替换难看的Java图像,这些自定义图像具有样式,并且很容易集成到Java Swing中。 现在我的问题是我需要使用一个在一个应用程序,我真的不想使用默认的Java滚动条,甚至本机OS滚动条。 我只希望能够将自定义图像作为滚动条的背景,并将图像作为滚动条的Thumb。 如何使用图像制作自定义JScrollBar? 问

  • 问题内容: 我正在使用Reactjs,编写一个菜单组件。 每当我在map函数内部使用“ this”时,它都是未定义的,但在外部,则没有问题。 错误: “无法读取未定义的属性’props’” 有人帮我!:(( 问题答案: 需要第二个参数来设置在映射函数中引用的内容,因此将其作为第二个参数传递以保留当前上下文: 另外,您可以使用ES6 箭头功能自动保留当前上下文: