gpt4 book ai didi

c++ - C++ 中的 case 表达式返回错误

转载 作者:行者123 更新时间:2023-11-30 05:21:47 25 4
gpt4 key购买 nike

我将这段代码用作二维游戏的一部分,但是当我尝试编译它时,它返回了以下错误:

error C2051: case expression not constant.

This is my code:

switch(_getch()){
case "w":
dir = UP;
break;
case "a":
dir = LEFT;
break;
case "s":
dir = DOWN;
break;
case "d":
dir = RIGHT;
break;
default:
break;
}

最佳答案

在 switch cases 中,你应该使用字 rune 字 ('w') 而不是字符串文字 ("w"):

case 'w':
dir = UP;
break;

"w" 是一个字符串文字,它会衰减为一个 char const* 指针。 switch case 只能是常量整数、枚举或具有单个非显式整数或枚举转换运算符的类。指向 char 的指针不是这些。

关于c++ - C++ 中的 case 表达式返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39935652/

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