Advertencia C6306
Llamada incorrecta a 'function': considere la posibilidad de usar 'function' que acepta un va_list como argumento.
Comentarios
Esta advertencia indica una llamada a función incorrecta. La printf
familia incluye varias funciones que toman una lista variable de argumentos; sin embargo, no se puede llamar a estas funciones con un va_list
argumento . Hay una familia de funciones correspondiente vprintf
que se puede usar para estas llamadas. Llamar a la función de impresión incorrecta provocará una salida incorrecta.
Nombre del análisis de código: INCORRECT_VARARG_FUNCTIONCALL
Ejemplo
El código siguiente genera esta advertencia:
#include <stdio.h>
#include <stdarg.h>
void f(int i, ...)
{
va_list v;
va_start(v, i);
//code...
printf("%s", v); // warning C6306
va_end(v);
}
Para corregir esta advertencia, utilice el código siguiente:
#include <stdio.h>
#include <stdarg.h>
void f(int i, ...)
{
va_list v;
va_start(v, i);
//code...
vprintf_s("%d",v);
va_end(v);
}
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de