配对作为地图中的键以进行记忆
Pair as a key in map for Memoization
我想让你在函数 f(row, int)
上使用 unordered_map
进行记忆。
不幸的是,我遇到了一个奇怪的编译错误(很长而且很神秘)。
#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
的密钥类型需要实现 std::hash
,我猜你的错误是告诉你 std::pair<int, row>
没有 std::hash
执行。我不认为该标准为 std::pair
指定了 std::hash
的专业化,因此您需要提供自己的专业化。
我想让你在函数 f(row, int)
上使用 unordered_map
进行记忆。
不幸的是,我遇到了一个奇怪的编译错误(很长而且很神秘)。
#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
的密钥类型需要实现 std::hash
,我猜你的错误是告诉你 std::pair<int, row>
没有 std::hash
执行。我不认为该标准为 std::pair
指定了 std::hash
的专业化,因此您需要提供自己的专业化。