C6306
경고 C6306: <function>에 대한 호출이 잘못되었습니다. va_list를 인수로 받는 <function>을(를) 사용하십시오.
이 경고는 올바르지 않은 함수 호출을 나타냅니다.printf 패밀리에 가변 인수 목록을 사용하는 몇 개의 함수가 포함되지만 va_list 인수를 사용하여 이들 함수를 호출할 수 없습니다.이러한 호출에 사용할 수 있는 해당 vprintf 함수 패밀리가 있습니다.잘못된 인쇄 함수를 호출하면 잘못된 결과가 출력됩니다.
예제
다음 코드에서는 이 경고를 발생시킵니다.
#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);
}