我无法将项目插入到我的无序集中。这是怎么回事?
typedef struct node_t
{
char s[SIZE];
char blank; //position of blank tile
char g,h;
int depth; //Depth of node for IDA*
}NODE;
...
NODE CurrentNode;
unordered_set<NODE> seen;
seen.insert(CurrentNode);
抛出以下错误:
错误 3 error C2678:二进制“==”:未找到采用“const NODE”类型的左侧操作数的运算符(或没有可接受的转换)
最佳答案
编译器告诉您发生了什么:unordered_set 的实现要求您为NODE
定义一个operator==()
。顺便说一句:您还必须定义一个 hash()
函数。
关于c++ - 无法将 insert() 结构插入 unordered_set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12484709/