Невозможно получить правильное количество аргументов, передаваемых в вызов функции
Я пытался использовать макросы для получения точного количества аргументов, и кажется, что это неправильно, когда я вообще вызываю функцию без аргументов.
#include <stdio.h>
#define _ARG2(_0, _1, _2, ...) _2
#define NARG2(...) _ARG2(__VA_ARGS__, 2, 1, 0)
int main (void){
printf ("The result of NARG2() is %d\n",NARG2());//1?
return 0;
}
Я ожидаю, что выходы NARG2 0