Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
attribution utilisée comme condition
Remarques
La valeur de test dans une expression conditionnelle est le résultat d’une affectation.
Une affectation a une valeur (la valeur située à gauche de l’affectation) qui peut être utilisée légalement dans une autre expression, y compris une expression de test.
Example
L’exemple suivant génère l’erreur C4706 :
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a = b) // C4706
{
}
}
Supprimez l’avertissement avec ((expression)). Par exemple:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b)) // No warning
{
}
}
Si votre intention est de tester une relation, et non d’effectuer une affectation, utilisez l’opérateur ==. Par exemple, les tests suivants déterminent si a et b sont égaux :
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a == b)
{
}
}
Si vous envisagez de faire de votre valeur de test le résultat d’une affectation, vérifiez afin de vous assurer que l’affectation n'est ni égale à zéro, ni nulle. Par exemple, le code suivant ne génère pas cet avertissement :
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b) != 0)
{
}
}