Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перекрестные ссылки, как? 
:(
    Опции темы
maxutov
Дата 9.11.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.5.2006
Где: Люберцы

Репутация: нет
Всего: нет



Здравствуйте, как создать перекрестные ссылки
например,
Код

ref class _01:public active{public:_01(){_03^ b1=gcnew _03();};};
ref class _03:public active{public:_03(){_01^ b1=gcnew _01();};};


ошибка в _01 (_03 не объявлен)
если переставить - ощибка в _03 (_01 не объявлен)
как же создать перекрестные ссылки?

Это сообщение отредактировал(а) maxutov - 9.11.2007, 21:26
PM MAIL WWW   Вверх
stab
Дата 9.11.2007, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



forward declaration по идее вставить сверху надо - ref class _03;


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
maxutov
Дата 9.11.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.5.2006
Где: Люберцы

Репутация: нет
Всего: нет



Цитата(stab @ 9.11.2007,  21:54)
forward declaration по идее вставить сверху надо - ref class _03;

так о том и говорю если _03 вверху 
то forward declaration будет по отношению к _01
придется _01 вверх ставить опять
Код

ref class _03:public active{public:_03(){_01^ b1=gcnew _01();};};//Теперь тут ошибка 
ref class _01:public active{public:_01(){_03^ b1=gcnew _03();};};//!!а раньше была тут!!



Это сообщение отредактировал(а) maxutov - 9.11.2007, 22:22
PM MAIL WWW   Вверх
stab
Дата 10.11.2007, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



по вашему forward declaration что такое?


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
maxutov
Дата 10.11.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.5.2006
Где: Люберцы

Репутация: нет
Всего: нет



Цитата(stab @ 10.11.2007,  13:32)
по вашему forward declaration что такое?

объявление класса должно предшествовать объявлению его объекта

Это сообщение отредактировал(а) maxutov - 10.11.2007, 21:20
PM MAIL WWW   Вверх
stab
Дата 11.11.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



Forward declaration - это описание класса, функции или переменной без их определения, например:

Код

class FooClass;
int FooFunction(int);
int FooArray[];


После этого на них уже можно ссылаться в коде, хотя полного их определения\реализации ещё нет. В вашем случае, рекомендую вынести описание классов в заголовочные файлы, т.к. помимо ссылки на тип, вы вызываете один из его членов, до того как класс полностью определён.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
maxutov
Дата 12.11.2007, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.5.2006
Где: Люберцы

Репутация: нет
Всего: нет



Цитата(stab @ 11.11.2007,  18:43)
Forward declaration - это описание класса, функции или переменной без их определения, например:

Код

class FooClass;
int FooFunction(int);
int FooArray[];


После этого на них уже можно ссылаться в коде, хотя полного их определения\реализации ещё нет. В вашем случае, рекомендую вынести описание классов в заголовочные файлы, т.к. помимо ссылки на тип, вы вызываете один из его членов, до того как класс полностью определён.

стоп
Но у меня все классы определены!
PM MAIL WWW   Вверх
stab
Дата 14.11.2007, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



Цитата(stab @  11.11.2007,  22:43 Найти цитируемый пост)
.. рекомендую вынести описание классов в заголовочные файлы, т.к. помимо ссылки на тип, вы вызываете один из его членов, до того как класс полностью определён. 




--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1623 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.