繁体   English   中英

C ++开关盒

[英]c++ switch case

每当我尝试使用switch

case myvar:

哪里myvar是一个字符,我得到一个错误。 有可能使其工作吗? 谢谢

情况下使用的表达式必须是可以在编译时求值的常数整数表达式。 所以不行。 除非myvar是某种static const int ,否则您不能使用case进行此工作。

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

一般来说,没有。 大小写必须是编译时常量。

看来您希望您的开关盒基于char起作用。 就像其他人所说的那样,您的切换条件应该是整数的编译时常数。 下面的示例之所以有效,是因为针对每种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 ;
}

希望这可以帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM