【问题标题】:"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;
这里{ 和} 不是强制性的。