0
我正在嘗試創建一個類Info<P,S>
,該類包含指向另一個類型爲Info<S,P>
的對象的指針。我有以下代碼。C++模板類自引用
template <class P, class S>
class Info {
….
public:
Info(…, Info<S,P>* parentInfo) : …, parentInfo(parentInfo)
{}
…
private:
Info<S, P> *parentInfo;
};
….
typedef Info<ActualP, ActualS> OneInfo;
typedef Info<ActualS, ActualP> OtherInfo;
…
OtherInfo* parentInfo =…;
OneInfo info(…, parentInfo);
這不是編譯,並說構造函數不是一個有效的(在調用)。
我想這會導致嘗試解決無限遞歸。我對嗎?從Info<P,S>
開始引用Info<S,P>
的目的是什麼?
什麼是確切的錯誤? –
把它放在另一個函數而不是構造函數中。 – atoMerz
@ user1412084請將完整的錯誤信息(包括「候選人」部分)放入原始文章中。 – scones