0

C++ で特殊な char ケースを使用すると、問題が発生します。「{」を使用しようとしましたが、エラーで終了しました。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ブロックは で始まります。が 1 つしかない場合、とは必須ではありません。{case{}

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

ここで{}は必須ではありません。

于 2013-04-04T04:48:42.373 に答える