C6306C6306

avertissement C6306 : appel à <fonction > : envisagez d’utiliser <fonction > qui accepte un type va_list comme argumentwarning C6306: incorrect call to <function>: consider using <function> which accepts a va_list as an argument

Cet avertissement indique un appel de fonction incorrecte.This warning indicates an incorrect function call. Le printf famille contient plusieurs fonctions qui acceptent une liste variable d’arguments ; Toutefois, ces fonctions ne peut pas être appelées avec un va_list argument.The printf family includes several functions that take a variable list of arguments; however, these functions cannot be called with a va_list argument. Il existe un correspondant vprintf famille de fonctions qui peuvent être utilisées pour ces appels.There is a corresponding vprintf family of functions that can be used for such calls. Appel de la fonction d’impression incorrecte provoque une sortie incorrecte.Calling the wrong print function will cause incorrect output.

ExempleExample

Le code suivant génère cet avertissement :The following code generates this warning:

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

Pour corriger cet avertissement, utilisez le code suivant :To correct this warning, use the following code:

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

Voir aussiSee Also

C6273C6273