Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Видимость класса

4.7K
07 ноября 2007 года
docjohn
36 / / 11.10.2005
Имеются два класса и в каждом из них нужно сделать ссылки друг на друга.
Но при описании классов когда второй еще не описан, в первом происходит ошибка:

class TСlass1
{
private:
TClass2 *cl2; -------ошибка - класс TClass2 еще не описан
protected:
public:
};

class TСlass2
{
private:
TClass1 *cl1;
protected:
public:
};

Как быть?
370
07 ноября 2007 года
koval
443 / / 29.08.2005
Вот как быть
Код:
class TClass2;
class TСlass1
{
private:
    TClass2 *cl2;   -------ошибка - класс TClass2 еще не описан
protected:
public:
};

class TСlass2
{
private:
    TClass1 *cl1;
protected:
public:
};
22K
07 ноября 2007 года
deninok
16 / / 01.03.2007
Как добавление к ответу уважаемого koval: класс может быть определен лишь один раз, однако объявлен может быть (теоретически) сколько угодно раз. Поэтому компилятор, видя класс TClass2 в определении TClass1, должен (заранее) встретить объявление класса TClass2. А уж определение TClass2 может быть и в другом месте (или ниже, как у вас, или в другом файле).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог