共用方式為


編譯器警告 (層級 4) C4706

作為條件使用的指派

備註

條件表達式中的測試值是指派的結果。

指派具有值(指派左邊的值),可在另一個運算式中合法使用,包括測試表達式。

Example

下列範例會產生 C4706:

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

使用 ((表示式來隱藏警告,))。 例如:

// compile with: /W4
int main()
{
   int a = 0, b = 0;
   if ((a = b)) // No warning
   {
   }
}

如果您打算測試關聯,而不是進行指派,請使用 == 運算符。 例如,下列測試 a 和 b 是否相等:

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

如果您想要將測試值設為指派的結果,請檢查以確保指派結果為非零或非空。 例如,下列程式代碼不會產生此警告:

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