Aracılığıyla paylaş


C6289

uyarı C6289: Hatalı işleç: || üzerinden karşılıklı dışlama her zaman sıfır olmayan bir sabittir.Bunun yerine && kullanmak mı istediniz?

Bu uyarı sınama ifadesinde bir değişken iki farklı sabite karşı test edilmiş ve sonucu doğru olan iki koşula bağlı olduğunu gösterir.Bu her zaman doğru değerini değerlendirir.

Bu sorun genellikle || 'ın && yerine kullanılmasından kaynaklanır, ancak aynı zamanda != 'ın == istendiği yerde kullanılmasından da kaynaklanır.

Örnek

Aşağıdaki kod bu uyarıyı üretir:

void f(int x)
{
  if ((x != 1) || (x != 3))
  {
    // code 
  }
}

Bu uyarıyı düzeltmek için aşağıdaki kodu kullanın:

void f(int x)
{
  if ((x != 1) && (x != 3))
  {
    // code 
  }
}

/* or */
void f(int x)
{
  if ((x == 1) || (x == 3))
  {
    // code 
  }
}