switch参数类型
支持的类型有:int,short,long,char,enum,bool
不支持的类型:float,double,string
测试代码:
1 void SwitchParamTest() 2 { 3 //int 4 int nV = 3; 5 switch ( nV ) 6 { 7 case 3 : 8 cout << "int is ok" << endl; 9 break; 10 default: 11 break; 12 } 13 14 //short 15 short stV = 1; 16 switch ( stV ) 17 { 18 case 1 : 19 cout << "short is ok" << endl; 20 break; 21 default: 22 break; 23 } 24 25 //long 26 long lV = 5; 27 switch ( lV ) 28 { 29 case 5 : 30 cout << "long is ok" << endl; 31 break; 32 default: 33 break; 34 } 35 36 //char 37 char cV = 'a'; 38 switch ( cV ) 39 { 40 case 'a' : 41 cout << "char is ok" << endl; 42 break; 43 default: 44 break; 45 } 46 47 //bool 48 bool bV = true; 49 switch ( bV ) 50 { 51 case true : 52 cout << "bool is ok" << endl; 53 break; 54 default: 55 break; 56 } 57 58 //enum 59 enum enType{ 60 en_first, 61 en_second, 62 }; 63 enType enV = en_second; 64 switch ( enV ) 65 { 66 case en_second : 67 cout << "enum is ok" << endl; 68 break; 69 default: 70 break; 71 } 72 73 //下面的编译出错(string,float,double) 74 75 //string 76 // string sV = "abc"; 77 // switch ( sV ) 78 // { 79 // case "abc" : 80 // cout << "string is ok" << endl; 81 // break; 82 // default: 83 // break; 84 // } 85 86 //float 87 // float fV = 0.1; 88 // switch ( fV ) 89 // { 90 // case 0.1: 91 // cout << "float is ok" << endl; 92 // break; 93 // default: 94 // break; 95 // } 96 97 //double 98 // double dbV = 0.2; 99 // switch ( dbV ) 100 // { 101 // case 0.2: 102 // cout << "double is ok" << endl; 103 // break; 104 // default: 105 // break; 106 // } 107 108 }
输出结果:
浙公网安备 33010602011771号