![]() |
|
Модераторы: bsa |
![]()
|
|
| alexchee |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 18.5.2008 Репутация: нет Всего: нет |
привет.
Я пишу многопользовательскую игру на флеш и для нее решил написать сокет-сервер на си под линукс. Есть уже работающая версия, на си. Я решил ее переписать на c++, по некоторым причинам, У меня возникла проблема. Имееются классы Room и Client. Room - игровая комната, клиент играет в одной из них. Client - класс клиента - его координаты, свойства и т.д. Room содержит список играющих клиентов, массив-карту, список предметов на карте и летящие в момент времени пули. Согласно моей идее, конструктор Client должен принимать и запоминать указатель на экземпляр Room в которой он играет. Тогда из функций класса Client будет удобно обращаться к спискам пуль, предметов, карте и т.д. Проблема в том, что компилятор ругается если в Room есть список, экземпляр или указатель на Client, если в Client присутствует указатель на Room и класс Room в него включается. Я набросал элементарный пример, который тоже не хочет компилироваться:
ошибка Class1 does not name a type в Class2.h Эту проблему можно решить? Это сообщение отредактировал(а) alexchee - 18.5.2008, 22:39 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Конечно
Идея ясна? -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| alexchee |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 18.5.2008 Репутация: нет Всего: нет |
да, идея ясна. Включать(include) класс нельзя, только делать forward declaration, тогда создавать экземпляры другого класса все равно нельзя, но можно получить и хранить указтель.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
почему нельзя ?
Это сообщение отредактировал(а) mes - 19.5.2008, 14:04 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |