Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/02/2014, 05:56
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Funcion de argumentos variables con string

Como CalgaryCorpus, creo que varargs es solamente para los tipos nativos de C y sus versiones signed/unsigned/long, así como los punteros correspondientes. Las estructuras de datos, mejor pásalas mediante un puntero.

Ten en cuenta que en una función con número variable de argumentos no puedes conocer de antemano el número de argumentos que se han pasado, salvo que lo indiques de alguna manera mediante alguno de los argumentos (y tendrías que chequearlo dentro de tu función). Por mi experiencia personal, no pasa nada si luego lees menos argumentos de los que has pasado, pero puede haber problemas si intentas leer más de los que has pasado. Y, si es posible, dentro de la función lee los argumentos cuanto antes y cierra con la llamada a va_end(), procurando no llamar a ninguna función entre lectura y lectura de argumentos.

De todos modos, si vas a trabajar con C++, plantéate si realmente necesitas funciones con número variable de argumentos o puedes resolver tu problema con la sobrecarga de funciones.

Saludos,