![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
itan |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
Вот есть у меня свой тип данных :
и есть функция, которая принимает этот тип в качестве параметра:
Вопрос в том - как мне можно защитить функцию func от передачи ей значений не свойственных типу Type , например таким образом:
Для усложнения задачи предположим, что количество "типов" у Type может быть большим и разброс их значений существеннен. |
||||||
|
|||||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
enum - это всего лишь нумерованные целые константы.
Поэтому при желании любой может в твою функцию передать любую целую константу. Как вариант - сделай место этого битовое поле, эти самые константы - степени двойки. Или еще как-то... В самой функции все равно придется отсекать неправильные значения. А вот насколько быстро и легко это возможно будет сделать - уже зависит от значений твоих констант. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |