我有一個類Graph,爲樹建模。圖形包含一個指針Graph*
到我當前實例(我的當前節點)的父節點。通過遞歸查找樹中所有父節點到樹中的根
class Graph
{
private:
Graph* parent;
public:
Graph* getparent();
}
Graph* Graph::getparent()
{
return this->parent;
}
母體是在nullptr
如果根。
我試圖找到從節點到節點的距離。
這裏是我的嘗試:
int Graph::howManyParents(Graph* unparent)
{
int nbParents(0);
if(unparent != nullptr)
{
nbParents++;
nbParents =+ howManyParents(this->parent);
}
return nbParents;
}
它編譯但崩潰。調試器向我展示了大量的調用方法,但最終會導致SegFaulting。我的算法有問題嗎?
請問你怎麼想的「operator」'= +'呢? – CoryKramer
這是一個賦值運算符和一個加法運算符:) –
第二個問題:'howManyParents'方法是'Graph'類的成員嗎? (這在類聲明中不明顯) – VolAnd