En consecuencia, una llamada en tiempo de ejecución a una función variádica de estilo C que pasa argumentos inapropiados genera un comportamiento indefinido. … Tal comportamiento indefinido podría explotarse para ejecutar código arbitrario.
¿Qué es la función variádica en C?
Las funciones variádicas son funciones que pueden tomar un número variable de argumentos. En la programación C, una función variádica agrega flexibilidad al programa. Toma un argumento fijo y luego se puede pasar cualquier número de argumentos.
¿Son malas las funciones variadicas?
Las razones son: las funciones variádicas de plantilla conocen tanto el número como los tipos de sus argumentos. Son tipo seguro, no cambie los tipos de sus argumentos.
¿Cómo se declara una función variádica en C++?
Las funciones variádicas son funciones (por ejemplo, std::printf) que toman un número variable de argumentos. Para declarar una función variádica, aparecen puntos suspensivos después de la lista de parámetros, p. int printf(const char format…);, que puede estar precedido por una coma opcional.
¿Cómo se pasan parámetros variádicos a otra función?
No puedes pasar los argumentos variádicos a una función variádica. En su lugar, debes llamar a una función que tome va_list como argumento. La biblioteca estándar proporciona variantes de printf y scanf que toman va_list; sus nombres tienen el prefijo v.