共用方式為


C6306

警告 C6306: <function> 呼叫不正確: 請考慮使用可接受 va_list 做為引數的 <function>

這項警告表示函式呼叫不正確。printf 系列包含數個採用可變引數清單的函式,但是這些函式不能用 va_list 引數呼叫。可用於此類呼叫的函式會有對應的函式 vprintf 系列。呼叫錯誤的 print 函式將會造成不正確的輸出。

範例

下列程式碼將產生出這個警告:

#include <stdio.h>
#include <stdarg.h>


void f(int i, ...)
{
   va_list v;
   
   va_start(v, i);
   //code...
   printf("%s", v); // warning 6306 
   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);
}

請參閱

參考

C6273