Avertissement C6272
Non-float passé en tant qu’argument 'number' lorsque float est requis dans l’appel à 'function-name'
Notes
Cet avertissement indique que la chaîne de format spécifie qu’un float est requis. Par exemple, une ou %g
spécification %f
pour printf
, mais un non-float tel qu’un entier ou une chaîne est passé. Ce défaut peut entraîner des blocages, en plus d’une sortie potentiellement incorrecte.
Nom de l’analyse du code : NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION
Exemple
Le code suivant génère cet avertissement. %f
indique qu’un float est attendu, mais que l’entier i
est passé à la place :
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}
Pour corriger cet avertissement, modifiez le spécificateur de format ou modifiez les paramètres passés à la fonction. Dans cet exemple, nous corrigeons cet avertissement en utilisant %i
au lieu de %f
.
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}
Voir aussi
Syntaxe de spécification de format : fonctions printf et wprintf
sprintf
, _sprintf_l
, swprintf
, _swprintf_l
, __swprintf_l
sprintf_s
, _sprintf_s_l
, swprintf_s
, _swprintf_s_l
C4477
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour