объективный-c макрос для функции variadic

Вот пример того, чего я пытаюсь достигнуть. Я пытаюсь создать макрос, который был бы похож на это:

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 им. Я не уверен, согласился ли я очень с проблемой, но я надеюсь, что Вы поняли.

Спасибо за любую справку.

1
задан Marius 27 July 2010 в 02:49
поделиться

2 ответа

#define SOMEMACRO(...) some_func(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE);
1
ответ дан 2 September 2019 в 22:43
поделиться

Извините, я слишком рано отказался от поиска. Чтобы ответить на свой вопрос:

Макрос для вариативной функции выглядит так:

#define MACRONAME(...) some_function(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE)
1
ответ дан 2 September 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: