char变量上的Switch语句

Switch statement on char variable

本文关键字:Switch 语句 变量 char      更新时间:2023-10-16

我们正在使用的库定义常量,我们有:

const char field[] = "666"

我想:

switch(an_int){
    case field:

有办法做到这一点吗?我收到一个编译器错误,说字段在常量表达式中不可用(GCC 5.2)

如果可能的话,我真的希望避免修改字段声明。

field是一个数组。它不是一个可以在上switch的单一值

当字符数组被解释为整数值时,您正在尝试对其内容执行switch

使用atoi()或助手std::istringstreamoperator >>将数组转换为int变量,然后转换为其上的switch

否,不可能在char array/string上有switch语句。如果您确定字段将包含数值,则将char数组转换为integer。