我想使用已定义的程序字符串字符 在转换案例中。
要清除,我的定义看起来像这样
#define COMMAND "c"
在另一部分中,我想在案例陈述中使用此符号。
switch ( sign )
{
case COMMAND:
break;
....
}
我知道这是不允许的,但有没有办法将它强制转换为char(它只是一个char)?我面临的问题是,编译器是抱怨的原因 它不再是常数......
谢谢你!答案 0 :(得分:2)
为什么不将其定义为您想要的?喜欢这个
#define COMMAND 'c'
但等等......应该尽可能避免使用宏,你以前没有听说过吗?所以也不要这样做。这样做:
constexpr char command = 'c';
或者如果你有多个命令,那么枚举会更好:
enum class command_type : char
{
command0 = 'c',
command1 = 'd',
command2 = 'e',
//..
};