Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
atribuição usada como condição
Observações
O valor de teste em uma expressão condicional é o resultado de uma atribuição.
Uma atribuição tem um valor (o valor à esquerda da atribuição) que pode ser usado legalmente em outra expressão, incluindo uma expressão de teste.
Example
O exemplo a seguir gera C4706:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a = b) // C4706
{
}
}
Suprimir o aviso com a expressão (()). Por exemplo:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b)) // No warning
{
}
}
Se sua intenção for testar uma relação, não fazer uma atribuição, use o operador ==. Por exemplo, o seguinte testa se a e b são iguais:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if (a == b)
{
}
}
Se você pretende tornar seu valor de teste o resultado de uma atribuição, teste para garantir que a atribuição não seja zero ou não nula. Por exemplo, o código a seguir não gera este aviso:
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b) != 0)
{
}
}