出于某些奇怪的原因,当我尝试循环遍历我的字符串向量
时std::vector<Function> functionList;
std::vector<std::string> functionNames;
并尝试将它们存储在我的hash_map
中std::hash_map<Function, std::string> functions;
我遇到10条错误消息,都告诉我我错误地使用了二元运算符&#39;&lt;&#39;。我像这样循环:
for (auto i = 0; i < buffer.functionSize; i++)
{
functions[buffer.functionList[i]] = buffer.functionNames[i];
}
}
缓冲区对象是另一个存储std :: vectors的类。确切的错误消息发布在下面。有什么想法吗?
Error 1 error C2784: 'bool std::operator <(const std::vector<_Ty,_Alloc> &,const`std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc>`&' from 'const Function'
编辑:我将hash_maps更改为unordered_maps,现在我收到错误:
Error 1 error C2338: The C++ Standard doesn't provide a hash for this type.