0

当我在 c++ 中使用特殊字符大小写时,我遇到了一些问题。我尝试使用'{',但错误结束了。Visual Studio 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;
}

我怎样才能消除这些错误?我真的对此一无所知。

4

3 回答 3

3

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

switch() {
    // ...
}
于 2013-04-04T04:48:28.173 回答
1

您可能刚刚忘记了 switch 语句的大括号。顺便说一句,最好有default一个 switch 语句。

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;
    }
}
于 2013-04-04T04:48:34.380 回答
1

你忘了使用{}周围的情况:

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; 

在这里并不是强制性的{}

于 2013-04-04T04:48:42.373 回答