[英]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.