当我尝试以下操作时,GCC编译器会抱怨(见下文)。class Face
需要是不完整的,因为它包含指向class Element
的指针,而后者同样包含指向class Face
的指针。换句话说,这些类之间存在循环依赖关系。我该如何解决?
错误:对不完整类型“Face”的‘sizeof’无效应用
class Face; // needs to be incomplete
class Element
{
std::vector < std::unique_ptr <Face> > face;
};
class Face
{
std::vector < std::unique_ptr <Element> > elm;
};