@Lundin: Хммм. Я получаю другое сообщение об ошибке с более новым GCC. Кажется, что не разрешено использовать аргументы с переменными значениями, но нельзя передавать аргументы с нулевым значением. Если это правда, добавление фиктивного аргумента работает. Я пытался использовать версию Visual Studio, по общему признанию, и она не компилируется вообще. (Это ничего не говорит о соответствии стандартам, хотя.)

я есть две функции foo1 (a, b) и foo2 (a, b, c) и макрос

#define add(a,b) foo(a,b)

Мне нужно переопределить макрос для достижения цели,

1. если add () вызывается с 2 параметрами, затем вызывается foo1

если add () вызывается с 3 параметрами, тогда вызывается foo2

Я новичок в опции VA_ARGS. Как мне это сделать

Ответы на вопрос(3)

Ваш ответ на вопрос