Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CodeGrinder
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 17
#1

reDefine функции - C++

02.11.2011, 18:37. Просмотров 310. Ответов 3
Метки нет (Все метки)

Здравствуйте, коллеги!

Вот никак не могу понять, как правильно перенаправить вызов функции, с неопределенным числом параметров.

Вот собсно перехват:
C++
1
#define LogErr(str, ...) _tprintf(str, <еще один параметр, если он есть>);


А вот варианты использования:

C++
1
2
LogErr(_T("Option value for [\"%s\"] is invalid!"), lpszName); 
LogErr(_T("Some other error!"));

Руки чешутся прям написать:
C++
1
#define LogErr(...) _tprintf(...);
Но низзя))

Помогите, кто может! Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 18:37     reDefine функции
Посмотрите здесь:

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

excel. создать таблицу значение кусочно-непрерывной функции y на интервале [xmin; xmax] с шагом h, для расчета функции y используя логические функции - Delphi


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
02.11.2011, 18:41     reDefine функции #2
Цитата Сообщение от CodeGrinder Посмотреть сообщение
Здравствуйте, коллеги!

Вот никак не могу понять, как правильно перенаправить вызов функции, с неопределенным числом параметров.

Помогите, кто может! Заранее благодарен.
Если вы пишите на С, то в С есть такая синтаксическая конструкция, как макросы с переменным числом параметров. Насколько я знаю, в С++ аналогичный результат для макросов получить нельзя. Именно этим и вызвано, что в стандарт С включили макросы с переменным числом параметров.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
02.11.2011, 18:43     reDefine функции #3
http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html

Цитата Сообщение от CodeGrinder Посмотреть сообщение
Руки чешутся прям написать:
ну если сильно чешутся, то пиши как-то так:
C
1
#define LogError _tprintf
но смысла особого в этом я не вижу
CodeGrinder
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 17
03.11.2011, 10:25  [ТС]     reDefine функции #4
Цитата Сообщение от Nameless One Посмотреть сообщение

Спасибо за ссылку! Как раз то, что нужно!)
Yandex
Объявления
03.11.2011, 10:25     reDefine функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru