C++ Prime:switch内部的变量定义

  如果需要为某个case分支定义并初始化一个变量,我们应该把变量定义在块内,从而确保后面的所有case标签都在变量的作用域之外。

case true:
    {
          // 正确,声明语句位于语句块内部
          string file_name = get_file_name();
          // ……
    }
    break;
case false:
    if(file_name.empty())    // 错误,file_name不在作用域内
原文地址:https://www.cnblogs.com/vitah/p/4331397.html