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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2010, 13:36   #1
guz
Пользователь
 
Регистрация: 29.10.2010
Сообщений: 29
По умолчанию

Как сделать свои проверки на тип агрументов и свои варнинги при компиляции для функции с переменным числом параметров, аналогично тому как gcc выдаёт предупреждения о том, что в формате строки стоит "%d" а ему передаётся указатель ну и пр.

Вопросов фактически три:
1) Как вывести пользовательский варнинг во время компиляции?
2) Как доступиться до агрументов в вызове функции во время компиляции?
2) Как доступиться до типов аргументов?

Частичное решение - использовать что-то вроде
Код:
__attribute__ ((format(printf, x, y)))
Но в таком случае описание передаваемых параметров может быть только как в printf : %d %s и т.д. Что не совсем то, что хочется. Хочется передавать число (формат) и переменное число агрументов, типы которых контроллируются в зависимости от формата.

Как альтернативное решение придумал использовать в качестве параметра структуру (или объединение) и делать как-то так:

Код:
typedef struct _my_struct_t_
{
     int a;
     double b;
     char c;
} my_struct_t;

void test(my_struct_t* pstrct);

...

test(&(my_struct_t){.a = 3, c = 'b'});
Может кто придложит что-нить поудобнее? Или советом поможет?

Последний раз редактировалось Stilet; 15.11.2010 в 19:23.
guz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция с переменным числом параметров Veselyn Общие вопросы C/C++ 1 08.04.2010 16:36
Функция с переменным числом параметров С++ [CODER] Помощь студентам 3 22.03.2010 03:58
Функции с переменным числом параметров Matr1x Общие вопросы C/C++ 2 07.01.2010 16:55
Как создать функцию с переменным кол-во параметров? VintProg Общие вопросы Delphi 12 11.08.2009 12:49
Процедуры с переменным числом параметров Pascal Сергей089 Помощь студентам 2 04.04.2009 19:47