Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компоненты и цыклические ссылки / 4 сообщений из 4, страница 1 из 1
28.07.2006, 13:03
    #33884987
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компоненты и цыклические ссылки
Есть 2 компонента(билдер) :


//это VSTreeView.h
#ifndef VSTreeViewH
#define VSTreeViewH

#include "VSListView.h"

//---------------------------------------------------------------------------
class PACKAGE TVSTreeView : public TspSkinTreeView
{
private:
TVSListView *FVSListView;
};

#endif

//это VSListView.h
#ifndef VSListViewH
#define VSListViewH
#include "VSTreeView.h"
//---------------------------------------------------------------------------
class PACKAGE TVSListView : public TspSkinListView
{
private:
TVSTreeView *FVSTreeView;
};
#endif
а также хиадер формы, где есть ссылка на оба выше упомянутые хиадеры

билдер матюкаеться: тайп нэйм экспектед и декларашн миссинг
я так понимаю всё это изза циклических ссылок

вопрос :
как организовать все это дело по правильному
те есть 2 модуля в которых описаны 2 компонента которые имеют поле ссылку друг на друга?
...
Рейтинг: 0 / 0
28.07.2006, 13:10
    #33885008
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компоненты и цыклические ссылки
мона в ашнике указывать

Код: plaintext
1.
2.
class Name_class_used;

//далее описание класса, который использует то что указано выше.

а в сипипишнике писать уже инклуду.
...
Рейтинг: 0 / 0
28.07.2006, 13:11
    #33885016
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компоненты и цыклические ссылки
Кстати, таким методом я и пользуюсь (соседний топик). Но вот, возникла проблема с классами построенными по шаблону. :(
...
Рейтинг: 0 / 0
29.07.2006, 20:10
    #33887154
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компоненты и цыклические ссылки
Форвардную декларацию шаборна сделать вроде так
template <typename T> class templ1;
А вот инстанциированного типа действительно нельзя. ибо конструкция типа
template <> class templ1<char> занята под явнкю инстанциацию шаблона, да и не нужна она поскольку есть предыдущая.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компоненты и цыклические ссылки / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]