Share via


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);
}

참고 항목

참조

C6273