![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
Есть такие макросы:
Они отличаются друг от друга только количеством параметров в bind. Можно ли как-то упростить задачу, чтобы писать не несколько похожих макросов, а только один? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вместо этого, вам нужно использовать макрос-перечислитель: http://www.boost.org/doc/libs/1_44_0/libs/...ted_params.html и в HANDLER передавать дополнительный числовой аргумент. должно получиться что-то вроде этого:
Это сообщение отредактировал(а) boostcoder - 18.10.2010, 01:36 |
|||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
boostcoder, ваш код не работает. Как я понимаю, заполняется данными '_' , а надо _1, _2...
|
|||
|
||||
boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
у меня все корректно препроцессируется.
возможно вы забыли заинклудить <boost/preprocessor/repetition/enum_shifted_params.hpp> Добавлено @ 07:54 конечный вариант:
декларация:
результат:
Это сообщение отредактировал(а) boostcoder - 18.10.2010, 08:04 |
||||||
|
|||||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: 1 Всего: 1 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хорошо. покажите способ, решить поставленную ТС`ом задачу, используя приведенную вами ссылку ![]() |
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: 1 Всего: 1 |
Но это конечно если не лень ручками перечислять наборы параметров. Это сообщение отредактировал(а) cupper - 18.10.2010, 11:28 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
cupper, вы наверное первый пост не прочитали.
|
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: 1 Всего: 1 |
уже несколько раз перечитал. Но так и непонял откуда берутся параметры _1, _2, _3
![]() Если имена у них однотипные как и тут, то да буст сдесь лучше. А если они не обязательно имеют одинаковый формат имени? Но наверно сдесь всетаки первый вариант. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
это плейсхолдеры. обязательно. |
|||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
boostcoder, вот теперь работает. Спасибо, плюс в репу.
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ИванМ, тему закрой.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |