Je suis en train de trouver une macro pour faire quelque chose comme ce qui suit,Tableau Initialisation Macro
MY_MACRO(type,name,args...)
MY_MACRO(int,_array,1,2,3)
et dépliement
int _array[] = {1,2,3};
coll* __array = my_call(&array[0],&array[1],&array[2]);
est-ce possible avec/sans magie spécifique du compilateur? My_call s'attend à un nombre variable d'arguments et je ne veux pas passer le tableau directement.
EDIT: J'utilise déjà la réponse acceptée de la question suivante SO pour args var,
Macro returning the number of arguments it is given in C?
Je peux trouver combien d'éléments sont dans le tableau.
Qu'est-ce que votre macro fait après tout? – karlphillip
Ce que vous voulez n'est pas possible pour un nombre arbitraire d'arguments, exactement comme écrit, mais je suis confus pourquoi vous voulez passer des pointeurs individuels à chaque élément du tableau à l'appel de la fonction. Juste passer un pointeur sur le premier élément serait tout aussi bon. –