私は 6 次のケビン ベーコン問題を実装し、アクター ノードのクラスを作成しています。ユーザー定義のクラスを保持するために set を使用できますが、hash_set コンテナーは使用できません。なぜ?エラー メッセージは次のように表示されます: エラー C2440: '型キャスト' : 'const ActorGraphNode' から 'size_t' に変換できません 1> この変換を実行できるユーザー定義変換演算子がないか、演算子を呼び出せません....
#include <hash_set>
#include <set>
class ActorGraphNode{
public:
string ActorName;
//hash_set<ActorGraphNode> linkedActors;
set<ActorGraphNode> linkedActors;
ActorGraphNode(string name):ActorName(name){}
void linkCostar(ActorGraphNode actor){
linkedActors.insert(actor);
actor.linkedActors.insert(*this);
}
bool operator<( const ActorGraphNode& a ) const
{ return ActorName < a.ActorName ? true : false;}
};