我有一些模板化函数,由于模板类型,它具有不同数量的参数。这个函数是用宏定义包装的。
#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);
但是此代码标记为可移植的编译器。有办法使用带有任意数量参数的一些定义。我怎样才能做到这一点?