带有字符串参数的C ++ Switch case

时间:2014-05-04 23:31:39

标签: c++ string case

你好,

所以我试图在String上使用Case操作,Case运算符只适用于整数? 因为编译错误:

switch quantity not an integer

我将此代码作为示例:

#include <iostream>
using namespace std;

 int main(){
string type;
cout<<"Please enter your computer type (PC ,Laptop, Smartphone) : "<<endl;
getline(cin, type);

 switch(type){

case "PC":
 cout<<"Ok so you'vr got a "<<type;
 break;

case "Laptop":
 cout<<"Aha ,u got a "<<type;
 break;

case "Smartphone":
 cout<<"That s not bad ,u ve got :"<<type;
 break;
}


return 0;
}

我知道我可以使用其他逻辑运算符,如IF;但我正在对案件运营商进行辩论,所以我很好奇我是否可以使用Strings。

1 个答案:

答案 0 :(得分:1)

c / c ++ switch语句仅对数字整数原语进行操作。

您不能将它与char*指针(文字)一起使用。

  

attr(可选)switch(条件)语句

     

condition - 整数或枚举类型的任何表达式,或具有转换函数为整数或枚举类型的类类型的表达式,或具有大括号或等于初始值设定项的此类型的单个非数组变量的声明。