Вот пример того, чего я пытаюсь достигнуть. Я пытаюсь создать макрос, который был бы похож на это:
SOMEMACRO(obj, obj, obj, ..., obj);
Макрос скомпилировал бы в:
some_function(obj, obj, obj, ..., obj, SOMETHING_ELSE, SOMETHING_ELSE);
Вот макрос в качестве примера для 1 функции параметра:
#define SOMEMACRO(x) some_function(x, SOMETHING_ELSE, SOMETHING_ELSE)
Но это только работает с одним параметром (x)
Так в основном мне нужно то же самое, но так, чтобы я мог передать viariable количество аргументов. Было бы хорошо, что компилятор взял то, что между (и) и просто заменило X им. Я не уверен, согласился ли я очень с проблемой, но я надеюсь, что Вы поняли.
Спасибо за любую справку.
#define SOMEMACRO(...) some_func(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE);
Извините, я слишком рано отказался от поиска. Чтобы ответить на свой вопрос:
Макрос для вариативной функции выглядит так:
#define MACRONAME(...) some_function(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE)