#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main(int argc,argv[])
{string a="abcd";
string b;
b=a.substr(0,1);
switch (b)
{
case "a":
cout<<"a!";
break;
case "b":
cout<<"b!";
break;
}
}
编译结果指着switch (b)这行出错,说switch expreation type of "std::string"
出错我看了下词霸说是 switch不能对string类型判断
不知道应该如何对字符串类型判断?
就是一个字符串"abcdefghi"
我需要判断开头3个,然后更具判断写不同的语句;
不知道该怎么写?难道要用if?(应为有很多个判断)
C++çå¼å
³è¯å¥ï¼å½¢å¼ä¸º
å
¶åè½æ¯å¯¹expr1çå¼åå¤æï¼å¹¶æ§è¡ä¸å
¶ç¸ççcaseåæ¯ï¼å¹¶ä¸ç´æ§è¡å°breakæswitchè¯å¥ç»æã
è¿éï¼no1, no2... noNå¿ é¡»æ¯æ´å常éï¼èexpr1ä¹å¿ é¡»æ¯ä¸ä¸ªç±»å为æ´åç表达å¼ã
æ以ï¼ç´æ¥å¯¹stringç±»ååswitchå¤ææ¯éæ³çãä½æ¯å¯ä»¥æ ¹æ®å®é æ åµï¼å°è¿ç®ç»æ转æ¢ä¸ºæ´åï¼ä»è使ç¨switchè¯å¥ã
举ä¾æ¥è¯´ï¼å¦æå·²ç¥stringç±»åç对象sï¼é¿åº¦ä¸º5ï¼å ¶å 容为"testN"å½¢å¼ï¼å ¶ä¸Nå¯è½ä¸ºä»»æå符ãè¿æ¶è¦å¯¹è¯¥å¯¹è±¡å¤æï¼å°±å¯ä»¥éç¨switchè¯å¥äºã
å¦
switch(s[4])