Udostępnij za pośrednictwem


C6305

Ostrzeżenie C6305: potencjalna niezgodność między ilościami sizeof i countof

Ostrzeżenie to wskazuje, że zmienna przechowująca wynik sizeof jest dodawana do lub odejmowana od wskaźnika lub wyrażenia countof.Spowoduje to nieoczekiwane skalowanie w arytmetyce wskaźnika.

Przykład

Poniższy kod generuje to ostrzeżenie:

void f(int *p) 
{ 
  int cb=sizeof(int); 
  //code... 
  p +=cb; // warning 6305
}

Aby poprawić to ostrzeżenie, należy użyć następującego kodu:

void f(int *p) 
{
  // code...
  p += 1; 
}