- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 if 语句中使用 map.find(key) 和 map.end() 函数:
if( p_Repos->returnTypeMap().find(tc[0]) != p_Repos->returnTypeMap().end() )
但它不起作用,我收到一个 Microsoft Visual C++ 运行时库错误,告诉我“表达式:列表迭代器不兼容”。 tc[0] 只是一个字符串,而我的 map 中的关键位置是一个字符串。
但是,它们应该是兼容的,对吧?
非常感谢任何帮助。
谢谢,汤姆
编辑:基于此处找到的答案:Finding value in unordered_map ,我相信这应该是可行的。
第二次编辑:
这是 returnTypeMap() 函数:
std::unordered_map <std::string, std::pair<std::string, std::string>> returnTypeMap()
{
return typeTable;
}
这是我的 map 的定义:
std::unordered_map <std::string, std::pair<std::string, std::string>> typeTable;
最佳答案
您正在按值返回 map
,因此每次调用的计算结果都是完全不同的 map
。不同容器中的迭代器不兼容,尝试比较它们具有未定义的行为。
尝试更改您的代码以通过 const
引用返回:
std::unordered_map<std::string, std::pair<std::string, std::string>> const&
returnTypeMap() const
{
return typeTable;
}
或者制作 map 的本地拷贝并在单个本地拷贝上调用 find
和 end
:
auto typeTable{p_Repos->returnTypeMap()};
if (typeTable.find(tc[0]) != typeTable.end()) {
//...
}
关于c++ - 据说 map.find() 和 map.end() 迭代器不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445158/
简介 几个月前,我们介绍了 Informer 这个模型,相关论文 ( Zhou, Haoyi, et al., 2021 ) 是一篇获得了 AAAI 2021 最佳论文奖的时间序列论文
我遇到了一个非常奇怪的问题。我的代码 fragment 看起来像这样 public Wynik getData(int pomiar, int godzina) { Wynik wynik =
在 onDestroy() 中,我使用下面的代码检查服务是否仍在运行。如果是 - 我解除绑定(bind)并停止它。 public boolean isServiceRunning(Class serv
我不熟悉使用 spark java 构建 Web 应用程序。 我正在尝试使用“之前”过滤器但出现以下错误。请帮忙。我已经在下面粘贴了我的代码。Bootstrap 是我的类具有主要方法。 Error:
我不小心在错误的分区上启动了 mount。 sda4 是包含 sdaX 的扩展分区,X>4,而我想挂载 Fat32 分区 sda7. sudo mount /dev/sda4 /media/win 现
是said in documentation, that I can set content to node, not only to string ,在信息窗口中。 不幸的是,当我尝试设置节点时,它
在所有关于 Java 的书籍中,我都读到编译器以相同的方式处理所有空白并简单地忽略额外的空白,因此最佳做法是自由使用它们以提高代码的可读性。我在我写的每一个表达式中都找到了这一点的证据:有没有空格,有
据说当我们创建 object 时的sub-class自动 objects其super-classes被创建。这是真的吗?如果是,那么如果父类(super class)是抽象类怎么办。 最佳答案 不,那
我在 if 语句中使用 map.find(key) 和 map.end() 函数: if( p_Repos->returnTypeMap().find(tc[0]) != p_Repos->retur
我尝试从 URL 中获取 id(使用 props.match.params.id)并将其传递到一个变量中以重新使用它。但是 props 是未定义的。我不知道为什么。 任何人都可以看到我是否做错了什么?
这个问题在这里已经有了答案: What is the relationship between the docker host OS and the container base image OS?
据说 libX11 不是线程安全的。这是否意味着如果我有一个已经使用 AWT(直接或通过 Swing 间接使用)的 Java 应用程序,我就不能使用除它之外的其他工具包(如 Qt,或其他使用 X11
我是一名优秀的程序员,十分优秀!