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);