有没有办法排除以下错误:
CString str;
switch(str)
  {
     case "abc" break;
     case "def" break;
     case "xyz" break;
     ...
     default break;
  }
现在的问题是str不能用,因为它是一个CString类型,不知道是否有别的办法来解决这个问题.

解决方案 »

  1.   

    do
    {
      if(str=="abd")break;
      if(str=="def")break;
    }while(0)
      

  2.   

    用if....else来做吧,这样更容易一些。switch(表达式)在c中不如if......else用的方便,我是这样认为的!除非表达式是个简单数据类型的变量。
      

  3.   

    CString str;
    switch(str)
      {
         case "abc" :
         break;
         case "def" :
         break;
         case "xyz":
         break;
    }
      

  4.   

    nod if((strcmp(str , "aaa") ==0) || (strcmp(str , "bbb") == 0)...)
    {
        ......;
    }
    else
    {
       .....
    }
      

  5.   

    嗯,我也感觉用switch不太方便,大家这些着我也想过,估计是没有别的办法了,
    谢谢大家的帮助.