【问题标题】:"Illegal case" when using special symbols in case in c++在 C++ 中使用特殊符号时的“非法大小写”
【发布时间】:2013-04-04 04:46:21
【问题描述】:

当我在 c++ 中使用特殊字符大小写时,我遇到了一些问题。我尝试使用'{',但错误结束了。 视觉工作室 2010。 这是我的代码。

for (int i = 0; i < inputString.length(); i++)
{
    switch(inputString[i])
        case '{':
            nowChar = inputString[i];
            nowCaret = i;
            break;
        case '[':
            nowChar = inputString[i];
            nowCaret = i;
            break;
        case '(':
            nowChar = inputString[i];
            nowCaret = i;
            break;
}

如何消除这些错误?我真的不知道。

【问题讨论】:

    标签: c++ c switch-statement


    【解决方案1】:

    你需要用大括号打开和结束你的开关。

    switch() {
        // ...
    }
    

    【讨论】:

      【解决方案2】:

      您可能刚刚忘记了 switch 语句的大括号。顺便说一句,在 switch 语句中使用 default 会更好。

      for (int i = 0; i < inputString.length(); i++)
      {
          switch(inputString[i]) {
          case '{':
              nowChar = inputString[i];
              nowCaret = i;
              break;
          case '[':
              nowChar = inputString[i];
              nowCaret = i;
              break;
          case '(':
              nowChar = inputString[i];
              nowCaret = i;
              break;
          default:
              break;
          }
      }
      

      【讨论】:

        【解决方案3】:

        您忘记在案例周围使用{}

        switch(inputString[i])
        { //<------------------------------  this
            case '{':
                nowChar = inputString[i];
                nowCaret = i;
                break;
            case '[':
                nowChar = inputString[i];
                nowCaret = i;
                break;
            case '(':
                nowChar = inputString[i];
                nowCaret = i;
                break;
        } //<------------------------------- and this
        

        switch 块在具有 多个 案例时以 { 开头。如果它只有一个case,那么{} 不是强制性的。

        switch(i)
             case 0 : 
                   // code 
                  break; 
        

        这里{} 不是强制性的。

        【讨论】:

        • 哦,我真的需要更多的睡眠。谢谢!
        猜你喜欢
        • 2012-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-07
        • 2011-05-01
        • 1970-01-01
        • 2013-07-25
        • 1970-01-01
        相关资源
        最近更新 更多