Лаборатория Ubuntu
Опыт установки, настройки и использования
Ubuntu Linux Вопросы и ответы Об Ubuntu Новости Игры Записки для новичка
Поиск:

C/C++[Решено] | Форум


Вернуться к спискам тем

 Семён Тихоненко создал тему 02.06.2010 в 17:25
 Юзер  Сообщений: 160
 Репутация: 74

 Сейчас не на форуме
Такая проблема есть 2 структуры: объявлены одна за другой В первой структуре используется вторая, а во второй первая Пишет ошибки, типа тип данных не объявлен. Есть какой-то аналог прототипа структуры как у функции?
Цитировать

 Менеджер по рекламе рекомендует
 Знаток своего дела  Сообщений: 1987
 Репутация: 5055

 Сейчас на форуме

 Сергей Гаврук ответил 02.06.2010 в 17:40
 Новичок  Сообщений: 6
 Репутация: 12

 Сейчас не на форуме
покажи как структуры объявлены
Цитировать

 Павел Графов ответил 02.06.2010 в 17:43
 Новичок  Сообщений: 45
 Репутация: 28

 Сейчас не на форуме
Нужно использовать Forward Declaration.http://www.devx.com/tips/Tip/12583
Цитировать

 Семён Тихоненко ответил 02.06.2010 в 23:30
 Юзер  Сообщений: 160
 Репутация: 74

 Сейчас не на форуме
struct a1{struct a2 a;}struct a2{struct a1 a=b;}
Цитировать

 Алексей Сидоров ответил 03.06.2010 в 0:31
 Новичок  Сообщений: 4
 Репутация: 12

 Сейчас не на форуме
Во первых это обычно говорит о кривой архитектуре, а во вторых можно такstruct a2;struct a1{struct a2 a;}struct a2{struct a1 a=b;}штука называется предварительным обьявлениям. Но когда такие штуки возникают то это повод задуматься, все ли в порядке
Цитировать

 Семён Тихоненко ответил 03.06.2010 в 0:46
 Юзер  Сообщений: 160
 Репутация: 74

 Сейчас не на форуме
я просто простой пример привёл на самом деле там класс и стуктура и всё сложнее
Цитировать

 Алексей Сидоров ответил 03.06.2010 в 2:17
 Новичок  Сообщений: 4
 Репутация: 12

 Сейчас не на форуме
Ну не суть . forward declaration как раз для этого случая. Впрочем её всегда нада юзать если есть такая возможность, скорость компиляции увеличивает
Цитировать

 Семён Тихоненко ответил 03.06.2010 в 2:22
 Юзер  Сообщений: 160
 Репутация: 74

 Сейчас не на форуме
спасибо
Цитировать


Чтобы ответить, нужно авторизоваться здесь



Пользователь
Авторизация на сайте:
Email:
Пароль:
Запомнить (Регистрация)

Новости
Ubuntu
Linux
Сайт
Игры
 Игры для Ubuntu
Текущие проблемы:
Принтер Canon LBP3000, ГДЕ ТЫ??
Дата создания: 02.05.2010 10:14
Установка Blender на свежий 10.4 [Решено]
Дата создания: 02.05.2010 2:59
Ubuntu 10.04 amd64 - Вопросы новичка
Дата создания: 02.05.2010 0:30
3g modem beeline mf100
Дата создания: 01.05.2010 21:25
Наутилус в Люсид Линксе
Дата создания: 01.05.2010 21:11
Ubuntu 10.04 + Hamachi
Дата создания: 01.05.2010 20:53

2010-2012 © Лаборатория Ubuntu