Неполный тип для std :: vector
Компилятор GCC жалуется (см. Ниже), когда я пытаюсь сделать следующее.class Face
должен быть неполным, потому что он содержит указатель наclass Element
который также содержит указатель наclass Face
, Другими словами, существует круговая зависимость между классами. Как я могу это исправить?
ошибка: неверное применение «sizeof» к неполному типу «Face»
class Face; // needs to be incomplete
class Element
{
std::vector < std::unique_ptr <Face> > face;
};
class Face
{
std::vector < std::unique_ptr <Element> > elm;
};