Я знаю, название озадачивает. Но я не знал другого способа это сделать. Проблема заключается в следующем:
У меня есть два класса. Один из них — это Listclass, а другой — это Itemclass. Таким образом, Listclass имеет список (std :: vector) Itemobjects. Но теперь я хотел бы использовать родительский элемент в классе элементов, который ссылается на класс Listclass (или правильно объект), в котором он хранится.
Но C ++ запрещает что-то подобное, потому что это позволяет только членам уже проанализированных классов. Я в основном работал с Java в прошлом, где это не было проблемой.
Так возможно ли сделать что-то подобное?
Вам нужен указатель или ссылка, которые можно использовать с неполными типами.
struct list; // <-- forward declaration
struct item
{
item(list &list_) : _list(list_) {}
list &_list;
};
struct list
{
std::vector <item> items;
};
Других решений пока нет …