조건으로 사용되는 할당
조건식의 테스트 값은 할당의 결과입니다.
할당에는 테스트 식을 포함하여 다른 식에서 합법적으로 사용할 수 있는 값(할당 왼쪽의 값)이 있습니다.
다음 샘플에서는 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)
{
}
}
테스트 값을 할당의 결과로 만들려는 경우 테스트하여 할당이 0이 아니거나 null이 아닌지 확인합니다. 예를 들어 다음 코드는 이 경고를 생성하지 않습니다.
// compile with: /W4
int main()
{
int a = 0, b = 0;
if ((a = b) != 0)
{
}
}