所以我在 ClassA 中有一个无序映射,它是字符串类型和 ClassB 但是当我构建时我得到了 c2338 错误:C++ 标准没有为这种类型提供哈希。
A类.h
#include <unordered_map>
class ClassB;
ClassA
{
private:
std::unordered_map<std::string, ClassB*> map;
}
B类.h
class ClassB
{
private:
size_t x, y, w, h;
int id;
}
最佳答案
我对 boost::gregorian::date
也有同样的问题.我需要一个快速(和肮脏的)解决方案,我最终使用了 map<boost::gregorian::date, int>
而不是 unordered_map
.可能会慢一些,但对我来说这不是问题。 HTH.
关于c++ - 错误 c2338 C++ 标准不提供此类型的散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21744193/