警告 C6328
サイズの不一致: '型' はパラメーター (数値) として渡されました。'型' は '関数名' への呼び出しに必要です
解説
この警告は、書式指定子に必要な型と、渡された式の型が一致しないことを示します。 間違った書式指定子の使用は、未定義の動作です。 警告を修正するには、書式指定子が、渡された式の型と一致していることを確認します。
コード分析名: FORMAT_SIZE_MISMATCH
例
#include <cstdio>
void f(long long a)
{
printf("%d\n", a); // C6328 emitted.
}
未定義の動作を修正する方法はいくつかあります。 次のようにして、書式指定子を変更できます。
#include <cstdio>
void f(long long a)
{
printf("%lld\n", a); // No C6328 emitted.
}
次のようにして、式の型を変更できます。
#include <cstdio>
void f(int a)
{
printf("%d\n", a); // No C6328 emitted.
}
オーバーフローを発生させられない場合の最後の手段として、次のようにしてキャストを導入できます。
#include <cstdio>
void f(unsigned char a)
{
printf("%hhd\n", static_cast<signed char>(a)); // No C6328 emitted.
}
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示