Aviso do compilador (nível 1) C4145
'expression1' : expressão relacional como expressão de comutador; possível confusão com 'expression2'
Uma instrução switch
usa uma expressão relacional como a própria expressão de controle, o que resulta em um valor booliano para as instruções case
. Você quis dizer expression2?
Exemplo
O seguinte exemplo gera o erro C4145:
// C4145.cpp
// compile with: /W1
int main() {
int i = 0;
switch(i == 1) { // C4145, use i instead of i == 1 to resolve
case 1:
break;
default:
break;
}
}