C6334C6334

avertissement C6334 : opérateur sizeof à une expression avec opérateur peut provoquer des résultats inattenduswarning C6334: sizeof operator applied to an expression with an operator may yield unexpected results

Cet avertissement indique une utilisation incorrecte de le sizeof opérateur.This warning indicates a misuse of the sizeof operator. Le sizeof (opérateur), quand il est appliqué à une expression, donne la taille du type de l’expression résultante.The sizeof operator, when applied to an expression, yields the size of the type of the resulting expression.

Par exemple, dans le code suivant :For example, in the following code:

char     a[10];  
size_t   x;  

x = sizeof (a - 1);  

x sera attribué la valeur 4, 9 pas, car l’expression obtenue n’est plus un pointeur vers le tableau a, mais simplement un pointeur.x will be assigned the value 4, not 9, because the resulting expression is no longer a pointer to the array a, but simply a pointer.

ExempleExample

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

void f( )  
{     
  size_t x;  
  char a[10];  

  x= sizeof (a - 4);  
  // code...  
}  

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

void f( )     
{  
  size_t x;  
  char a[10];  

  x= sizeof (a) - 4;  
  // code...  
}   

Voir aussiSee Also

sizeof, opérateursizeof Operator