警告 C6306
'function' の呼び出しが正しくない: 引数としてva_listを受け入れる 'function' の使用を検討してください
解説
この警告は、関数呼び出しが正しくないことを示します。 この printf
ファミリには、引数の可変リストを受け取る複数の関数が含まれていますが、これらの関数を引数で va_list
呼び出すことはできません。 このような呼び出しに使用できる関数の対応する vprintf
ファミリがあります。 間違った print 関数を呼び出すと、正しくない出力が発生します。
コード分析名: INCORRECT_VARARG_FUNCTIONCALL
例
この警告が発生するコード例を次に示します。
#include <stdio.h>
#include <stdarg.h>
void f(int i, ...)
{
va_list v;
va_start(v, i);
//code...
printf("%s", v); // warning C6306
va_end(v);
}
この警告を解決するには、次のコードを使用します。
#include <stdio.h>
#include <stdarg.h>
void f(int i, ...)
{
va_list v;
va_start(v, i);
//code...
vprintf_s("%d",v);
va_end(v);
}
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示