Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
tilldelning som används som ett villkor
Testvärdet i ett villkorsuttryck är resultatet av en tilldelning.
En tilldelning har ett värde (värdet till vänster om tilldelningen) som kan användas lagligt i ett annat uttryck, inklusive ett testuttryck.
Följande exempel genererar C4706:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a = b) // C4706
{
}
}
Ignorera varningen med ((
uttryck))
. Till exempel:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b)) // No warning
{
}
}
Om din avsikt är att testa en relation, inte att göra en tilldelning, använder du operatorn ==
. Följande testar till exempel om a och b är lika med:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a == b)
{
}
}
Om du tänker göra testvärdet till resultatet av en tilldelning testar du för att säkerställa att tilldelningen inte är noll eller icke-null. Följande kod genererar till exempel inte den här varningen:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b) != 0)
{
}
}