Я работаю над макросом вызова,
#define CALL(f,...) FN(f)->call((ref(new LinkedList()), __VA_ARGS__))
, который при вызове
CALL(print,2,3,4,5);
добавляет 2 3 4 5 в связанный список (перегружен для этого)и вызывает print, которая ожидает связанный список, который работает, как и ожидалось, как бы то ни было, некоторые вызовы, которые не требуют аргументов,
CALL(HeapSize);
Он по-прежнему принимает связанный список, но пустой, выше не работает, яя пытаюсь найти макрос, который будет работать с любым из этих стилей?
РЕДАКТИРОВАТЬ: копать документы gcc Я обнаружил, что добавление ## перед VA_ARGS удаляет, когда нет аргументов, нопри этом я не могу вкладывать макросы,
CALL(print,CALL(HeadSize));
это вызывает ошибку CALL, не определенную как никогда, если я разделяю вызовы, которые она работает