如何使用switch
语句的QString
?
编译器给出了以下错误:
switch expression of type 'QString' is illegal
代码如下:
bool isStopWord( QString word )
{
bool flag = false ;
switch( word )
{
case "the":
flag = true ;
break ;
case "at" :
flag = true ;
break ;
case "in" :
flag = true ;
break ;
case "your":
flag = true ;
break ;
case "near":
flag = true ;
break ;
case "all":
flag = true ;
break ;
case "this":
flag = true ;
break ;
}
return flag ;
}
您可以在迭代之前创建一个QStringList,如下所示:
QStringList myOptions;
myOptions << "goLogin" << "goAway" << "goRegister";
/*
goLogin = 0
goAway = 1
goRegister = 2
*/
然后:
switch(myOptions.indexOf("goRegister")){
case 0:
// go to login...
break;
case 1:
// go away...
break;
case 2:
//Go to Register...
break;
default:
...
break;
}
如何在QString中使用Switch语句?
你不能。C++语言switch
语句只能与整型或枚举类型一起使用。可以将类类型的对象正式放入switch
语句,但这只是意味着编译器将查找用户定义的转换,将其转换为整型或枚举类型。