c++ - 我可以在 switch 语句中使用相等运算符吗?
问题描述
我正在尝试在语句中使用类似!=
and的运算符,但是通过我所做的所有测试,我找不到不使用语句的方法。==
switch
if
我尝试将运算符放在case
带有值的之前和之后。
这是我尝试过的:
int main(){
int value = 12;
switch(value){
case != 12:
cout << "Inequal \n";
break;
default:
cout << "The value is 12 \n";
}
}
解决方案
case
听起来您正在尝试使用标签中的相等运算符来比较某种变量。您只能在case
关键字和:
. 请参阅:https ://en.cppreference.com/w/cpp/language/switch
属性(可选)
case constant_expression : statement
此外,以下约束适用:
constant_expression - 与转换和整数提升后的条件类型相同类型的常量表达式
由于相等运算符的结果是布尔值,因此即使它是常量表达式,它也要求该switch
部分中的类型也是布尔值。您不能为此使用相等运算符,除非它们用作常量表达式,并且开关的类型是布尔值。
推荐阅读
- flutter - Flutter App Build apk报错但运行正确解决
- java - Spring Boot 嵌入式 tomcat 线程池配置
- python - 无法使用 Python 3.6 或更高版本安装 zc.buildout 和 zc.recipe.egg
- java - how can i get QQMail Starred folder with java mail
- php - PHP将视频流发送到自定义格式默认html5视频播放器
- sml - 如何从源代码安装 sml/nj?
- react-native - 如何让 onPress 触发 TextInput 内的 React Native Text 元素?
- typescript - 如何打字猫鼬toObject?
- linux - WSL 从 Ubuntu 在 Windows 中查找我的用户文件夹
- javascript - 'findIndex' 在 nodejs 中未定义