gpt4 book ai didi

c - 为什么对 switch case 值进行“或”运算时会出现错误?

转载 作者:行者123 更新时间:2023-11-30 18:16:59 25 4
gpt4 key购买 nike

 switch (ch)
{
case '~' || 177:
tile->tileType = TILE_NONE;
return true;
case '@' || 219: //error here: '@'
tile->tileType = TILE_WALL;
return true;
}

错误如下:“案例值‘1’已被使用”

......到底是什么??

我尝试清理解决方案,重新启动,使用另一台电脑。我“已经很接近”重新安装 VS 了。知道发生了什么吗?

最佳答案

不能像 if 语句那样将多个 case 除以 ||。你有这样的情况

'~' || 177:

这是一个计算结果为 true 的 bool 表达式,which gets evaluated to 1因为 case 只能是整型(intcharenum),所以必须转换为 int.所以你说的是真的

case 1:

同样的事情发生在你的第二个 case 语句中,它被评估为第二个 case 1:,因此出现错误

而是这样做:

case '~':
case 117:
//code

关于c - 为什么对 switch case 值进行“或”运算时会出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59432466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com