Advertencia C6272

No float pasado como argumento 'number' cuando se requiere float en la llamada a 'function-name'

Comentarios

Esta advertencia indica que la cadena de formato especifica que se requiere un valor float. Por ejemplo, una %f especificación o %g para printf, pero se pasa un valor distinto de float, como un entero o una cadena. Este defecto puede provocar bloqueos, además de una salida potencialmente incorrecta.

Nombre del análisis de código: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION

Ejemplo

El código siguiente genera esta advertencia. %f indica que se espera un valor float, pero el entero i se pasa en su lugar:

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}

Para corregir esta advertencia, cambie el especificador de formato o modifique los parámetros pasados a la función. En este ejemplo, se corrige esta advertencia mediante %i en lugar de %f.

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}

Consulte también

Sintaxis de especificación de formato: funciones printf y wprintf
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
C4477