Aracılığıyla paylaş


Derleyici uyarı (Düzey 4) C4706

koşullu deyim içinde atama

Sınama değeri Koşullu ifadedeki atama sonucu idi.

Atamanın yasal bir sınama ifadesi de dahil olmak üzere başka bir ifadede kullanılan bir değeri (atama sol tarafındaki değeri) vardır.

Aşağıdaki örnek C4706 oluşturur:

// C4706a.cpp
// compile with: /W4
int main()
{
   int a = 0, b = 0;
   if ( a  = b ) // C4706
   {
   }
}

Sınama koşulunun etrafındaki ayraçları çift bile uyarı ortaya çıkar:

// C4706b.cpp
// compile with: /W4
int main()
{
   int a = 0, b = 0;
   if ( ( a  =  b ) ) // C4706
   {
   }
}

Amacınız bir ilişkisi sınamak ve atamanın olmamasını kullanmak için ise == işleci.Örneğin, aşağıdaki sınamaları olup satır bir ve b eşittir:

// C4706c.cpp
// compile with: /W4
int main()
{
   int a = 0, b = 0;
   if ( a == b )
   {
   }
}

Değer atama sonucunu sınamanız yapmak istiyorsanız, atama sıfır olmayan veya null olduğundan emin olmak için sınayın.Örneğin, aşağıdaki kod, bu uyarı oluşturmaz:

// C4706d.cpp
// compile with: /W4
int main()
{
   int a = 0, b = 0;
   if ( ( a = b ) != 0 )
   {
   }
}