欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

“default”标签跳过“ ”的初始化操作问题解决

程序员文章站 2022-06-01 11:08:12
...

原因是在switch 中有初始化的工作。

在switch 语句中不可以有定义部分。如果有定义,如初始化的时候,必须把定义部分用{ } 括起来。

例如:

这段代码 case 后的代码增加了一个括号,括起来,没有这对括号就会报错

case binaryop: 
    {    // 增加的括号 
    bool end_right=false; // 标志操作符的右操作数是否结束 
    do 
    { 
     if(delayed_operations.empty())end_right=true; 
     else 
     { 
      prior=delayed_operations.top(); 
      if(prior.Kind()==leftparen)end_right=true; 
      else if(prior.Priority()<current.Priority())end_right=true; 
      else if(current.Priority()==6)end_right=true; 
      else answer.Put_token(prior); 
      if(!end_right) delayed_operations.pop(); 
     }

    }while (!end_right); 
    delayed_operations.push(current); 
    break; 
    }   // 增加的括号 
   default: cout<<" 你的输入格式可能不正确!"<<endl;break;
相关标签: default