0

順序付けされていないセットにアイテムを挿入できません。何が起こっている?

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'の左側のオペランドをとる演算子が見つかりません(または受け入れ可能な変換がありません)

4

2 に答える 2

3

コンパイラは何が起こっているかを教えてくれます。unordered_setを実装するには、 forを定義する必要があります。ところで:関数も定義する必要があります。operator==()NODEhash()

于 2012-09-18T22:01:41.560 に答える
0

比較演算子を定義しておらず==、ハッシュするように調整していません。(また、MAGIC_BUFFER_SIZE chartypedef struct本当に?C ++またはCを学びましたか?)

于 2012-09-18T22:02:10.160 に答える