所以我在ClassA中有一个无序的映射,它的类型是string和ClassB,但是当我构建时,我得到了c2338错误:C ++标准没有为这种类型提供散列。
ClassA.h
#include <unordered_map>
class ClassB;
ClassA
{
private:
std::unordered_map<std::string, ClassB*> map;
}
ClassB .h
class ClassB
{
private:
size_t x, y, w, h;
int id;
}
答案 0 :(得分:-1)
boost::gregorian::date
我遇到了同样的问题。我需要一个快速(和肮脏)的解决方案,最后我使用map<boost::gregorian::date, int>
而不是unordered_map
。可能会慢一点,但对我来说这不是问题。 HTH。