![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Имеется код:
Компилятор ругается. Говорит "ePlayerStatus in class cPlayer does not name a type". Перевести это я могу (вроде ![]() ![]() Заранее благодарен. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
http://liveworkspace.org/code/76ff542aa7bf...485693c50adcf77 Добавлено через 7 минут и 28 секунд ePlayerStatus в классе cPlayer не является именем типа. |
|||
|
||||
Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Спасибо.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Hagrael, скажу тебе сразу, что подобное смысла не имеет. Так как пользоваться currentStatus из-вне (а иначе зачем в public) будет очень затруднительно.
|
|||
|
||||
Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
bsa, только что именно это я и заметил
![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
http://liveworkspace.org/code/03eac72912d9...1f81cf2290c7094 Добавлено через 10 минут и 44 секунды Hagrael, объясни, чего хочешь добиться? |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
шлифовать, так шлифовать
![]()
P.S. ![]() именование типов - жуть... венгерщиной попахивает ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
я бы еще вынес enum наружу, например так :
P.S. имена состоящие из всех заглавнных букв "закреплены" за макросами, поэтому с этим стоит быть поосторожней, чтоб не нарваться на необъснимую ошибку.. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
зачем? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
borisbn, mes, может просто почитать про "enum class" ;)
например тут: http://www.open-std.org/jtc1/sc22/wg21/doc.../2007/n2347.pdf Добавлено @ 00:30 Alca, перешел по ссылке у тебя в подписи, а там внизу страницы есть такое: ![]() ну добавь readme. а то реально не понятно что за либа. Это сообщение отредактировал(а) boostcoder - 23.7.2011, 00:30 |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
А вы бы как это оформили, можете показать? (или то, как вы написали, и есть ваш вариант?) Обращение через cPlayer::... Значит, нельзя присвоить enum классу, а после обращаться к его "вариантам" напрямую (без cPlayer::). Тогда буду делать enum глобальным. |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
А чтобы не пересекаться с каким-нибудь другим плеером заключить весь класс в namespace с названием проекта (или ещё какм-нить)
обращаться можно (см. typedef от mes), но IMHO так ( с Player:: ) будет более читабельно... Сразу понятно о каком статусе идёт речь. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
mes |
|
||||||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Вы думаете мы не в курсе ? ;) или считаете, что новичков с ходу надо грузить новым стандартом ? чтоб не нагружать класс плеера тем, что к нему относится косвенно..
namespace нужен, чтоб вынести константы енума из глобальной области видимости, для повышения читабельности и исключения пересечений.. а typedef для того чтоб был более удобный тип ePlayerStatus вместо PlayerStatus::eNum.. Добавлено через 4 минуты и 56 секунд
старайтесь избегать интерфейса в виде сочетаний геттера и сеттера.. если нужно только это то лучше оформить как структурный блок данных, а не как класс.. касательно текущего вопроса, то, имхо, наиболее подходящим будет использование геттера и нескольких методов изменяющих состояние вместо сеттера.. Добавлено через 7 минут и 31 секунду
как typedef поможет обращаться к "вариантам" енума напрямую ? |
||||||||||
|
|||||||||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |