У меня есть некоторая шаблонная функция, которая имеет разное количество аргументов из-за типа шаблона Эта функция заключена в определение макроса.
#define SomeTemplate(TemplateType, Arguments) someFunc<TemplateType>(Arguments);
Все нормально, когда я использую только один аргумент для вызова функции, но мне нужно больше. Я посмотрел на boost, он делает такие вещи через определение различных макросов, например:
#define TEMP_1(Arg1) someFunc<Template>(Arg1);
#define TEMP_2(Arg1, Arg2) someFunc<Template>(Arg1, Arg2);
#define TEMP_3(Arg1, Arg2, Arg3) someFunc<Template>(Arg1, Arg2, Arg3);
Но этот код помечен как переносимый для компиляторов. Есть способ использовать некоторые определения с любым количеством аргументов. Как я могу это сделать?