Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2009, 21:46   #1
nazavrik
Форумчанин
 
Аватар для nazavrik
 
Регистрация: 01.09.2008
Сообщений: 178
По умолчанию Макрос?

Я так понимаю, что это макрос:

Код:
#define FORWARD_WM_TIMER(hwnd, id, fn) \
    (void)(fn)((hwnd), WM_TIMER, (WPARAM)(UINT)(id), 0L)
А подскажет кто, что он означает?
Быть радикальным - значит понять вещь в её корне. К.Маркс
nazavrik вне форума Ответить с цитированием
Старый 30.10.2009, 21:58   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

символ \
заменяет на FORWARD_WM_TIMER(hwnd, id, fn)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.10.2009, 22:07   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

#define FORWARD_WM_TIMER(hwnd, id, fn) - макрос, который принимает три параметра. Так как макросы могут быть записаны только в одну строку, то тут стоит символ '\' - перевод строки после него игнорируется и следующая строка выступает в качестве продолжения предыдущей.
FORWARD_WM_TIMER заменяется на конструкцию (void)(fn)((hwnd), WM_TIMER, (WPARAM)(UINT)(id), 0L), только вместо fn, hwnd и id подставляются значения, переданные в макрос
netrino вне форума Ответить с цитированием
Старый 30.10.2009, 22:08   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

да это макрос
символ \ это просто перенос на сл строку, чтобы функцию записать на 2х строках а не на 1 как это обычно делается

#define FORWARD_WM_TIMER(hwnd, id, fn) (void)(fn)((hwnd), WM_TIMER, (WPARAM)(UINT)(id), 0L)

сори опоздал
NiCola999 вне форума Ответить с цитированием
Старый 30.10.2009, 22:34   #5
nazavrik
Форумчанин
 
Аватар для nazavrik
 
Регистрация: 01.09.2008
Сообщений: 178
По умолчанию

Спасибо большое! =)
Быть радикальным - значит понять вещь в её корне. К.Маркс
nazavrik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. Ples Microsoft Office Excel 8 17.12.2016 18:15
макрос Рубик Microsoft Office Excel 1 08.10.2009 19:49
Макрос Markizka Microsoft Office Excel 1 31.05.2009 20:53
Макрос терпкая_весна Microsoft Office Excel 2 18.05.2009 12:53
макрос Demonmov Microsoft Office Excel 19 29.01.2009 16:19