![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
RastaDja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 1.11.2010 Репутация: нет Всего: 5 |
Доброго времени суток!
Подскажите, как определить два перечисления с одинаковой константой в одном файле
Получаю ошибку error C2371: 'NONE' : redefinition; different basic types Спасибо -------------------- The more closely you look at one thing, the less closely can you see something else. |
|||
|
||||
ChipNDale |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2010 Репутация: 1 Всего: 1 |
1. Использовать namespace.
2. Использовать enum class. 3. Использовать разные имена. |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
1. Использовать namespace.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Сорри за небольшой
![]() Но я накушался с этими enum class'ами.. По любому чиху их нужно явно приводить к int'у...
То же самое при сеарилизации... Код становится только хуже читаемым. Так что я тоже за namespace Это сообщение отредактировал(а) borisbn - 20.7.2013, 08:01 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
dershokus |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: 1 Всего: 1 |
Вот так можно ![]()
или так Это сообщение отредактировал(а) dershokus - 23.7.2013, 11:02 |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ну...оно вроде как для этого и придумывалось, чтоб победить неявное преобразование. просто, нужно "правильную" сериализацию использовать ;)
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Это-то да. И иногда это спасает, но иногда бесит. Лучше уж я буду пользоваться простыми enum'ами и включу параноидальный уровень warning'ов. Не в моём случае - протокол передачи сообщений мне выдали снаружи (я должен был подключиться к другой системе)... Но вообще-то, спасибо за yas. Интересно, а как ты сериализацию для enum class'ов сделал ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
все просто. underlying_type тип либо указывается вручную(для enum class), либо выводится компилятором в зависимости от максимального значения перечеслителя. поэтому, при бинарной сериализации, нужно хранить пару: left:'size of enum', right:'raw data' собственно сериализатор, и десериализатор. Это сообщение отредактировал(а) boostcoder - 23.7.2013, 18:56 |
|||
|
||||
RastaDja |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 1.11.2010 Репутация: нет Всего: 5 |
Использовал именно этот вариант. Спассибо за советы всем кто отписался. -------------------- The more closely you look at one thing, the less closely can you see something else. |
||||
|
|||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |