c ++开关案例

时间:2010-12-31 19:42:43

标签: c++ switch-statement

每当我尝试使用

开关时
case myvar:

myvar是一个char我得到一个错误。是否可以使它工作?感谢

3 个答案:

答案 0 :(得分:9)

在case中使用的表达式必须是可在编译时计算的常量整型表达式。所以不行。除非myvar是某种static const int,否则您无法使用case进行此操作。

但你可以做的只是使用链式if语句。

答案 1 :(得分:3)

一般来说,没有。案例必须是编译时常量。

答案 2 :(得分:1)

您希望切换案例基​​于char工作。正如其他人所说,你的switch case应该是完整的编译时常量。以下示例有效,因为每个char的情况都会检索相应的ASCII值。

#include <iostream>
int main( void )
{
    char myvar = 'a' ;
    switch( myvar )
    {
        case 'a':
            std::cout << "\n This Works !" << std::endl ;
            break ;
        default:
            break ;
    }

    return 0 ;
}

希望这有帮助!