Достичь противоположности __va_opt__ в вариационных препроцессорных функциях, похожих на макросыC++

Программы на C++. Форум разработчиков
Anonymous
Достичь противоположности __va_opt__ в вариационных препроцессорных функциях, похожих на макросы

Сообщение Anonymous »

Как я могу достичь противоположного эффекта va_opt (), только расширяя, если нет вариационных аргументов в va_args . Что -то вроде va_not_opt ().
Пример:

Код: Выделить всё

#define MY_MACRO(...) __VA_NOT_OPT__(default) __VA_ARGS__
< /code>
MY_MACRO()
расширяется по умолчанию

Код: Выделить всё

MY_MACRO(arg)
расширяется до arg
То, что я действительно хочу, - это единственный необязательный параметр со значением по умолчанию. Но я думаю, что C-Preprocessor не поддерживает это. Но, может быть, кто -то знает лучше меня.

Подробнее здесь: https://stackoverflow.com/questions/778 ... ike-macros

Вернуться в «C++»