Je me demandais s'il y avait un moyen de transmettre des paramètres dynamiquement aux fonctions variadique. à savoir si j'ai une fonctionparamètres Passing dynamiquement aux fonctions variadique
int some_function (int a, int b, ...){/*blah*/}
et j'accepte un tas de valeurs de l'utilisateur, je veux une certaine façon de passer ces valeurs dans la fonction:
some_function (a,b, val1,val2,...,valn)
Je ne veux pas écrire différentes versions de toutes ces fonctions, mais je soupçonne qu'il n'y a pas d'autre option?
si toutes les valeurs sont de même type (comme votre question semble impliquer - me corriger si je me trompe Je suggère de ne pas utiliser de fonction variadique et de passer un tableau à la place; voir ici pour un peu de magie de la macro pour le faire quand vous voulez passer un nombre fixe d'arguments: http://stackoverflow.com/questions/1375474/variable-arity-in-c/1375636#1375636 – Christoph
Non, ils sont de différents types. – tommobh
@tommobh: l'approche du tableau peut toujours fonctionner si vous enveloppez vos valeurs dans une union ou passez un tableau de 'void *' aux valeurs au lieu des valeurs elles-mêmes, mais ce sera moins élégant – Christoph