'function-name' の呼び出しで float が必要な場合、引数 'number' として渡される非 float
解説
この警告は、書式指定文字列で float が必要であることを示します。 たとえば、printfの%fまたは%g指定ですが、整数や文字列などの非浮動小数点が渡されています。 この欠陥が原因で、出力が正しくなくなる可能性に加えて、クラッシュする可能性もあります。
コード分析名: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION
例
この警告が発生するコード例を次に示します。 %f は float が必要ですが、代わりに整数 i が渡されていることを示します。
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}
この警告を修正するには、書式指定子を変更するか、関数に渡されるパラメーターを変更します。 この例では、%fではなく%iを使用して、この警告を修正します。
void f()
{
char buff[5];
int i=5;
sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}
関連項目
書式指定構文: printf 関数と wprintf 関数
sprintf、 _sprintf_l、 swprintf、 _swprintf_l、 __swprintf_l
sprintf_s、 _sprintf_s_l、 swprintf_s、 _swprintf_s_l
C4477