c++ - 配对作为 map 中的键以进行内存

标签 c++ data-structures types

我希望您使用 unordered_map 在函数 f(row, int) 上进行内存。 不幸的是,我遇到了一个奇怪的编译错误(很长而且很神秘)。

#include <vector>
#include <unordered_map>
#include <utility>


using namespace std;

typedef vector<bool> row;

int main(void) {

    unordered_map< pair<int, row>, int > x;

}

最佳答案

std::unordered_map 的 key 类型需要执行 std::hash ,我猜你的错误是告诉你 std::pair<int, row>没有 std::hash执行。我不认为该标准指定了 std::hash 的特化对于 std::pair所以你需要提供你自己的。

关于c++ - 配对作为 map 中的键以进行内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423884/

相关文章:

c - 如何验证 void 指针 (void *) 是否是两种数据类型之一?

c++ - Rcpp:更改列表列表中的列表项

c++ - ACE(C++ 库)是否仍用于高性能计算?

python - 如何将 Python 嵌入到多平台 C++ 框架(JUCE)中?

java - 我应该使用什么二维数据结构来支持Java中的固定大小?

.net - .NET 如何解析类型?

c++ - 如何将可变参数传递给 std::thread?

代码不打印链表 C

c++ - 集合适配器 - 省略依赖底层集合的 T

r - 在 R/Splus 中编写函数来处理多种数据类型?