我有一个问题,我在每个级别使用不同的类实现了一棵树。 指向树项目的指针是boost :: shared_ptr <>。boost :: shared_ptr循环依赖关系
由于每个级别存储指向父级的指针和指向其子级的指针,因此头文件中存在循环依赖关系。
的代码看起来是这样的:
//A.hpp
class A
{
List<boost::shared_ptr<B> > children;
};
//B.hpp
class B{
boost::shared_ptr<A> parent;
};
因为我使用boost :: shared_ptr的,我不能在B.hhp使用前声明。但我不知道如何解决这个问题。如果你能帮助我,那会很好。
提示:孩子们是否拥有父母?如果没有,那为什么他们拥有指向父母的指针呢? – 2013-02-22 20:53:53
当然,孩子们不应该拥有父母,我需要另一种类型的指针吗? – Thorsten 2013-02-22 20:56:28
为什么不用常规指针指向类A? – abellina 2013-02-22 20:56:49