| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Хитрые шаблоны |
| Автор: Freeman 18.3.2004, 13:47 |
| Люди, есть небольшая проблемка в реализации класса с использование шаблона, вот код class CMenu { public: CList<CItemMenu> items; CList<CMenu> child; }; первая часть работает, вторая нет. Если кто знает, плз скажите, очень надо для курсовика |
| Автор: Borisff2003 18.3.2004, 14:19 |
| Так ведь класс CMenu уже есть, и он не может его переопределить |
| Автор: srd 18.3.2004, 16:04 |
| Забавно, объекта класса CMenu содержит список объектов класса CMenu, которые содержат списки объектов класса CMenu.... Это то, что тебе надо? |
| Автор: FreshMeat 18.3.2004, 19:34 | ||||
Видимо CList использует хранение элементов по значению, поэтому при попытке инстанцирования валится вполне логичная ошибка. Но это не более чем предположение. Попробуй использовать указатель на CMenu.
PS STL именно для этих целей хранит элементы только по указателям... Т.е. с std::list такой проблемы возникнуть не должно. |
| Автор: Guest 19.3.2004, 08:29 |
| srb да мне это и нужно чтобы сделать древовидное меню [b]FreshMeat[\b] видимо ты прав, потому что CList<CMenu*> child работает. Спасибо за подсказку, переделаю свой CList |