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