C++ に不慣れで申し訳ありませんが、循環依存関係の問題を解決するために静かな時間を費やしたため、これを提起しました。
C++ で隣接リストを表現しようとしています。
私は構造体を持っていますNode
、
struct Node{
int data;
unordered_set<Node, Hash> links;
bool operator == (Node const& other) const{
return (data == other.data);
}
Node(){
}
Node(int data){
this->data = data;
}
};
そして私は私のHash
ファンクターを持っています
struct Hash {
size_t operator()(const Node &node) const {
return node.data;
};
};
この演習でHash
はNode
、
単一のファイルですべてを宣言したいのですが、どのファイルを最初に宣言する必要がありますかNode
。Hash
Hash
両方を前方宣言し、Node
どちらかを最初に定義しようとしましたが、コンパイルされたものはありませんでした。
PS: これは宿題ではありません。グラフ アルゴリズムのパズルをオンラインで解こうとしています。