J'ai une fonction de modèle qui a un nombre différent d'arguments dû au type de modèle. Cette fonction est enveloppée avec la définition de la macro.Nombre d'arguments dans la définition de la macro
#define SomeTemplate(TemplateType, Arguments) someFunc<TemplateType>(Arguments);
Tout va bien quand je suis en utilisant un seul argument pour les appels de fonction, mais j'ai besoin plus. Je regardais ce coup de pouce fait ces choses à travers la définition des macros différentes, comme ceci:
#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);
Mais ce code marqué comme portable pour les compilateurs. Il y a moyen d'utiliser quelques définitions avec n'importe quel nombre d'arguments. Comment puis je faire ça?
Pourquoi en avez-vous besoin du tout? Pourquoi ne pas utiliser directement la fonction template, sans macros? – doublep
@doublep parce que l'appel est beaucoup plus grand et prend plus de place. Je l'ai simplifié ici. – Ockonal