我有一些模板函数由于模板类型而具有不同数量的参数。这个函数是用宏定义包装的。宏定义中的参数数
#define SomeTemplate(TemplateType, Arguments) someFunc<TemplateType>(Arguments);
当我只使用一个参数进行函数调用时,一切都可以,但我需要更多。我看着它推动通过不同的宏定义做这样的事情,这样的:
#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);
但标记为便携式的编译器的代码。有一些方法可以使用任意数量的参数进行一些定义。我怎样才能做到这一点?
为什么你需要这个吗?为什么不直接使用模板化函数,而不使用宏? – doublep 2010-06-20 22:08:56
@doublep,因为调用更大,占用更多的地方。我在这里简化了它。 – Ockonal 2010-06-20 22:20:42