Заранее извиняюсь, если вопрос покажется слишком ламерским. Есть два класса, зацикленных друг на друге и объявленных в разных файлах: <<<x.h>>> #include "y.h" class y; class x { public: x(): yobj(*this) {} private: y yobj; }; <<<y.h>>> #include "x.h" class x; class y { public: y(x& xx): xobj(&xx) {} private: x* xobj; }; На это дело компилер выдаёт такую ругань: In file included from y.h:5, from y.cpp:2: x.h:18: field 'yobj' has incomplete type. Объясните, пожалуйста, что ему, собственно, надо. Я предполагаю, что, скорее всего от этого можно избавиться, если впихнуть объявления классов в один файл, но дело в том, что реально классов гораздо больше и они гораздо сложнее, чем в этом примере, и этого очень желательно избежать. Заранее спасибо. Только не сильно ругайтесь :).
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Почему компилятор не видит заинклюденный класс? (2015)
- Форум Вызвать метод базового класса при разрушении дочернего объекта (2015)
- Форум [C++] Не получается вызывать метод класса в share object (2010)
- Форум PIMPL без указателя (2016)
- Форум Использование placement new (2014)
- Форум Проблема при установке Plastik на KDE... (2004)
- Форум Создать плагин для Avidemux (2024)
- Форум зацикливание внутри malloc (2004)
- Форум Gentoo. Зацикливание сборки device-mapper (2007)
- Форум Зацикливание всего скрипта в bash. (2014)