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