Udostępnij za pośrednictwem


C6326

Ostrzeżenie C6326: potencjalne porównanie stałej z inną stałą

To ostrzeżenie wskazuje potencjalne porównanie stałej z innej stałej, co jest nadmiarowym kodem.Należy sprawdzić, aby upewnić się, że zamiar programisty została poprawnie zapisany w kodzie.W niektórych przypadkach można uprościć sprawdzany warunek osiągając ten sam wynik.

Przykład

Poniższy kod generuje ostrzeżenie, ponieważ dwie stałe są porównywane:

#define LEVEL  
const int STD_LEVEL = 5;

const int value = 
#ifdef LEVEL
10;
#else 
5;
#endif

void f()
{
  if( value > STD_LEVEL)
  {
    // code...
  }
  else
  {
    // code...
  }
}

Poniższy kod przedstawia jedną metodę korygowania ostrzeżenia, poprzez użycie #ifdef do ustalenia, który kod powinien zostać wykonany:

#define LEVEL  
const int STD_LEVEL = 5;

const int value = 
#ifdef LEVEL
10;
#else 
5;
#endif

void f ()
{
#ifdef LEVEL
  {
    // code...
  }
#else
  {
    // code...
  }
#endif
}