我有以下代码:
float x = 0.43;
float y = 1.56;
size_t largerValueIndex = 1;
size_t smallerValueIndex = 0;
switch (x > y) {
case 1:
largerValueIndex = 0;
smallerValueIndex = 1;
break;
}
Visual Studio 发出警告“C4144:'>':关系表达式作为 switch 语句”。
我想知道的是为什么有必要发出警告?我的印象是大多数 switch 和 if 语句都是两个值之间的比较。这被认为是不好的做法吗?如果是这样,为什么?
虽然代码是正确的,但
switch
通常用于具有两种以上可能结果的场景;只有两种可能结果的测试应该是 if
。
编译器会对此发出警告,因为意外使用
switch
可能表示拼写错误或逻辑错误。