C++ 无法将()结构插入无序的\u集中

C++ 无法将()结构插入无序的\u集中,c++,visual-c++,c++11,std,C++,Visual C++,C++11,Std,我无法将项目插入无序集。发生了什么事 typedef struct node_t { char s[SIZE]; char blank; //position of blank tile char g,h; int depth; //Depth of node for IDA* }NODE; 节点当前节点; 看到无序的集合; seen.insert(CurrentNode); 引发以下错误: 错误3错误C2678:二进制“==”:未找到接受

我无法将项目插入无序集。发生了什么事

typedef struct node_t
{
    char s[SIZE];
    char blank;     //position of blank tile
    char g,h;
    int depth;      //Depth of node for IDA*
}NODE;

节点当前节点;
看到无序的集合;
seen.insert(CurrentNode);
引发以下错误:


错误3错误C2678:二进制“==”:未找到接受“const NODE”类型的左侧操作数的运算符(或没有可接受的转换)

编译器正在告诉您发生了什么:无序集的实现要求您为
节点定义
运算符==()
。顺便说一句:您还必须定义一个
hash()
函数。

编译器正在告诉您发生了什么:无序集的实现要求您为
节点定义一个
操作符==()
。顺便说一句:您还必须定义一个
hash()
函数。

您没有定义比较运算符
==
,也没有安排对其进行哈希运算。(也就是,代码> MigICHuffReMySux< <代码> char 和<代码> TyPufFrase?真的吗?你学习C++还是C?)/P> < P>你定义了没有比较运算符<代码> = = < /Cord>,也没有安排它被哈希。(也就是,C++ >代码> >代码> char < /Code >和<代码> TyPufFrase
?真的吗?你学习C++还是C?)/P>第一个代码片段不是我的代码,但是代码I是赋值的一部分。第一个代码片段不是我的代码,而是代码I作为赋值的一部分被赋予。
NODE CurrentNode;
unordered_set<NODE> seen;

seen.insert(CurrentNode);