class — Itemclass с Listclass-parent в качестве члена в переполнении стека

Я знаю, название озадачивает. Но я не знал другого способа это сделать. Проблема заключается в следующем:

У меня есть два класса. Один из них — это Listclass, а другой — это Itemclass. Таким образом, Listclass имеет список (std :: vector) Itemobjects. Но теперь я хотел бы использовать родительский элемент в классе элементов, который ссылается на класс Listclass (или правильно объект), в котором он хранится.

Но C ++ запрещает что-то подобное, потому что это позволяет только членам уже проанализированных классов. Я в основном работал с Java в прошлом, где это не было проблемой.

Так возможно ли сделать что-то подобное?

0

Решение

Вам нужен указатель или ссылка, которые можно использовать с неполными типами.

struct list; // <-- forward declaration

struct item
{
item(list &list_) : _list(list_) {}

list &_list;
};

struct list
{
std::vector <item> items;
};
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]