繁体   English   中英

无法将()结构插入unordered_set

[英]Unable to insert() struct into unordered_set

我无法将项目插入无序集中。 到底是怎么回事?

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错误C2678:二进制'==':未找到采用'const NODE'类型的左操作数的运算符(或没有可接受的转换)

编译器告诉您发生了什么:unordered_set的实现要求您为NODE定义一个operator==() 顺便说一句:您还必须定义一个hash()函数。

您尚未定义比较运算符== ,也未安排对其进行哈希处理。 (也是MAGIC_BUFFER_SIZE chartypedef struct吗?真的吗?您学习过C ++还是C?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM