On Fri, Mar 21, 2008 at 04:37:40PM -0300, personaje wrote: > Hola, > > Estoy experimentando con una macro variadica, pero no puedo > encontrar información o ejemplos de como descomponer __VA_ARGS__. > Me interesa poder obtener uno de los argumentos extra en dicha > macro. P.ej. __VA_ARGS__[0] __VA_ARGS__[1] o algo así. O se trabaja > tipo listas con cabeza y cola y lo voy descomponiendo así? cómo se > podría hacer?
No lo descompones dentro de la macro, sino que usas variadic functions (no se como se diria en castellano =). No se puede acceder a los miembros que los componen, al menos no dentro del estandar C99. En http://en.wikipedia.org/wiki/Variadic_macro hay una explicacion breve y clara de como es el asunto. Basicamente sirve para casos tipo: void realdprintf (char const *file, int line, char const *fmt, ...); #define dprintf(...) realdprintf(__FILE__, __LINE__, __VA_ARGS__) en donde reemplazas la expansion, y despues dentro de realdprintf() manejas los parametros variables como en cualquier variadic function. Gracias, Alberto _______________________________________________ Lista de correo Programacion. [email protected] http://listas.fi.uba.ar/mailman/listinfo/programacion
