0

Info<P,S>タイプ の別のオブジェクトへのポインターを保持するクラスを作成しようとしていますInfo<S,P>。次のコードがあります。

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<S,P>から参照するこの意図を実装するための代替手段は何Info<P,S>ですか?

4

1 に答える 1