Avviso C6272
Non float passato come argomento 'number' quando float è necessario nella chiamata a 'function-name'
Osservazioni:
Questo avviso indica che la stringa di formato specifica che è necessario un valore float. Ad esempio, una %f
specifica o %g
per printf
, ma viene passato un valore non float, ad esempio un numero intero o una stringa. Questo difetto può causare arresti anomali, oltre a un output potenzialmente errato.
Nome dell'analisi del codice: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION
Esempio
Il codice seguente genera questo avviso. %f
indica che è previsto un valore float, ma l'intero i
viene passato:
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}
Per correggere questo avviso, modificare l'identificatore di formato o modificare i parametri passati alla funzione. In questo esempio viene corretto questo avviso usando %i
invece di %f
.
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}
Vedi anche
Sintassi della specifica del formato: funzioni printf e wprintf
sprintf
, _sprintf_l
, swprintf
, _swprintf_l
, __swprintf_l
sprintf_s
, _sprintf_s_l
, swprintf_s
, _swprintf_s_l
C4477
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per