C++ 中的变量作用域?

2024-01-30

在 C++ 中,main 中声明的任何变量都可以在整个 main 中使用,对吗?我的意思是,如果变量是在 try 循环中声明的,它们仍然可以在整个 main 中访问吗? 因为我在 main 的 try 循环中声明了几个变量,但是如果我在 try 循环之外的 main 的任何其他部分使用它们,我会收到“未在此范围内声明”错误

不幸的是,我无法发布我的实际代码,但这基本上就是我正在做的事情

int main()
{
   try 
   {
     int number = 0;
   }

   catch (...)
   {
     cout <<"Error";
   }

   number ++;
   cout <<number;

   return 0;
}

我基本上会在第 13 行和第 14 行收到一个错误,指出 number 没有在此范围内声明。


范围number仅限于try堵塞。将此声明拉至main访问该变量之后的范围try block:

int main()
{
   int number = 0;
   try 
   {
     // do something...
   }

   catch (...)
   {
     cout <<"Error";
   }

   number ++;
   cout <<number;

   return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的变量作用域? 的相关文章

随机推荐

  • 来自 Pivot 的 Seaborn 热图中的数据顺序

    所以我有一个使用seaborn创建的热图 revels rd pivot Flavour Packet number Contents ax sns heatmap revels annot True fmt d linewidths 0
  • 为购物车项目和产品设置正确的 jpa 映射

    我正在通过一些例子学习jpa 涉及购物车和购物车物品 我将它们定义如下 但不太确定要使用哪个映射 Entity class Product private Long id private String name Entity class C
  • 如何在 Facebook 应用程序中添加画布和安全画布 URL

    我正在尝试开发 Facebook 教程 Friends Smash 但我遇到了一个大问题 它没有显示任何添加画布和安全画布 URL 的选项 设置 gt gt 添加平台 gt gt 网站 我得到以下选项 如何添加画布和安全画布 URL 画布和
  • 如何使用解析表证明左递归语法不在LL(1)中

    我有一个语法 想证明它不在 LL 1 中 S gt SA A A gt a 由于它是左递归语法 为了找到第一个和后续集合 我消除了左递归并得到 S gt AS S gt AS Empty A gt a first of A a follow
  • 将 DAO 与复合对象一起使用

    我正在尝试重写一堆 DAO 这里的设置是 仅纯 JDBC 无 JPA ORM 任何形式 没有使用任何接口 插入对象之前进行大量检查 业务对象紧密相连 我的主要问题是 如何持久 检索由多个其他对象组成的业务对象 例如我的 CustomerDA
  • NGRX - 如何计算商店中商品的属性

    我们在 Angular 应用程序中使用 NGRX 数据来自 API 某些属性以未格式化的字符串形式来自 API 因此我们需要对其进行格式化 当然 这可以在 HTML 中完成 但问题是在 HTML 和 TypeScript 中的多个位置都需要
  • ZF2 - 使用导航视图助手的多个导航菜单

    我正在尝试将主导航与子菜单结合使用以进行更具体的导航 In my layout我这样调用视图助手 this gt navigation main navigation gt menu 并在我的view我这样称呼它 this gt navig
  • 访问 Spark RDD 时闭包中局部变量的使用

    我有一个关于访问 Spark RDD 时闭包中局部变量的使用的问题 我想解决的问题如下 我有一个应该读入 RDD 的文本文件列表 但是 首先我需要向从单个文本文件创建的 RDD 添加附加信息 此附加信息是从文件名中提取的 然后 使用 uni
  • 将 ShapeRenderer.begin/end 嵌套在 SpriteBatch.begin/end 中

    是否可以使用绘制形状ShapeRenderer之间SpriteBatch begin and end calls 我已经尝试过 但没有结果 只绘制了 SpriteBatch 纹理 场景中没有形状 示例代码如下 shapeRenderer b
  • Objective-C 接口 - 声明变量与仅声明属性?

    在 Obj c 中 在 interface 中声明变量时 接口 NSObject 我的对象 我的对象 property 不安全 非原子 MyObject myObject 对比 仅将其声明为属性 接口 NSObject property 不
  • 通过 HTTP 回调函数进行 Google 地理编码?

    我想使用谷歌地理编码via HTTP在我的 AJAX Web 应用程序中将城市名称转换为经度和纬度的功能 但是 HTTP 地理编码器功能似乎不存在回调函数 http code google com apis maps documentati
  • 无法将操作提供者强制转换为共享操作提供者

    下面是我的活动的代码 import android app Activity import android os Bundle import android support v7 widget ShareActionProvider imp
  • Clojure 协议与 Scala 结构类型

    看完后里奇 希基的采访 http www infoq com interviews hickey clojure protocols on 协议 http clojure org protocols在 Clojure 1 2 中 对 Clo
  • 线程无异常地死亡

    我的一些工作线程遇到问题 我在线程的 run 方法中添加了一个包罗万象的异常语句 如下所示 try Runs the worker process which is a state machine while self set exitco
  • 为什么 ListView 项目不会增长以包裹其内容?

    我有一个相当复杂的 ListView 具有可变的列表项高度 在某些情况下 我需要在列表项中显示一个附加视图 该视图默认是隐藏的 View GONE 通过启用它 View VISIBLE 列表项的高度会增加 或者至少应该如此 问题 即使我将项
  • 如何将文件夹结构复制到另一个目录下?

    我有一些与复制文件夹结构相关的问题 事实上 我需要将pdf文件转换为文本文件 因此 我导入 pdf 的位置有这样的文件夹结构 D f subfolder1 subfolder2 a pdf 我想在 下创建确切的文件夹结构D g subfol
  • 在 Hibernate 中运行时急切加载整个对象图

    在说出 指定查询中的获取类型 之类的内容之前 请先阅读以下内容 那不是我所追求的 我正在寻找一种方法来急切加载完整的对象图 对象 它的所有子对象以及它们的所有子对象等等 I do not想要枚举要加载的所有属性 直到运行时我才认识它们 N
  • Linux中如何保护进程间共享的内存

    在 Linux 或其他现代操作系统中 每个进程的内存都受到保护 因此一个进程中的疯狂写入不会导致任何其他进程崩溃 现在假设我们在进程 A 和进程 B 之间共享内存 现在假设 由于软错误 进程 A 无意中向该内存区域写入了一些内容 鉴于进程
  • 如何在 React 中呈现未定义状态的数据?

    我正在 componentDidMount 内获取数据 但在初始渲染期间我未定义 然后再次渲染发生 并且在此期间状态变量被填充 现在 当它不是未定义的并且在填充之后 我想对其进行解构并在我的组件内显示数据 注意 getProjectDeta
  • C++ 中的变量作用域?

    在 C 中 main 中声明的任何变量都可以在整个 main 中使用 对吗 我的意思是 如果变量是在 try 循环中声明的 它们仍然可以在整个 main 中访问吗 因为我在 main 的 try 循环中声明了几个变量 但是如果我在 try