switch(c)
{case 0x01:int temp = a + b;....break;case 0x02:break;default:break;
}

此时会报如题所示错误

原因是因为C和C++中,一个变量的生命期(作用域)是这么规定的,中文还不好解释,英文原文是这样的:The scope of a variable extends from the point where it is defined to the first closing brace that matches the closest opening brace before before the variable was defined.,上面的代码中这样写,在case 0x02中temp仍然有效,看看编译器提示的信息 cross initialization of int temp, 什么意思呢, 就是说跳过了变量的初始化,仔细想想,确实是这样,我们在case 1中定义了变量temp,在这个程序中,直到遇到switch的“}”右花括号,temp的作用域才终结,也就是说 在case 2 和 default 分支中 变量temp依然是可以访问的。考虑这样一种情况,如果switch匹配了case 2,这样case 1的代码被跳过了,那么temp就没有定义,如果此时在case 2的代码中访问了temp,程序会崩溃的。所以上面的程序应写成如下方式

switch(c)
{case 0x01:{int temp = a + b;....}//这样的话temp的生命期到这里就结束了,在后面的case中temp就是未定义的,如果用到,编译阶段就会有提示break;case 0x02:break;default:break;
}

转载自:

https://www.cnblogs.com/jiu0821/p/6845283.html

error:crosses initialization of ...的解决办法相关推荐

  1. CAS (10) —— JBoss EAP 6.4下部署CAS时出现错误exception.message=Error decoding flow execution的解决办法...

    CAS (10) -- JBoss EAP 6.4下部署CAS时出现错误exception.message=Error decoding flow execution的解决办法 jboss版本: jb ...

  2. mysql 1045错误ODBC_MySQL ERROR 1045 (28000) 错误的解决办法

    错误现象: ERROR 1045 (28000): Access denied for user'ODBC'@'localhost'(using password: NO) ERROR 1045 (2 ...

  3. DedeCMS Error:Tag disabled:php的解决办法

    DedeCMS Error:Tag disabled:"php"的解决办法 2, posted on 2014-02-12 12:15 秦瑞It行程实录 阅读(...) 评论(.. ...

  4. NSIS ERROR NSIS病毒新型变种 解决办法

    NSIS ERROR & NSIS病毒新型变种 & 解决办法 特点综述 如何分类 如何应对"变异前"的病毒 简述特征 第一步,破解EXE安装报错 第二步,杀毒 小结 ...

  5. 微信开发者工具代码仓的管理以及错误:Push failed Error: invalid authentication scheme 的解决办法,微信小程序代码仓项目删除

    文章目录 1.新建代码仓 2.报错:Push failed Error: invalid authentication scheme 的解决办法 3.代码仓项目的删除 1.新建代码仓 如果你的代码已经 ...

  6. VB6程序运行错误Run-time error 339: Tabctl32.ocx的解决办法

    运行错误Run-time error 339: Tabctl32.ocx的解决办法 [问题] 最近一段时间与教研室的各位老师在做一个山东省一级OFFICE模拟软件时,前面的开发工作一切顺利,却在后面的 ...

  7. php数据库报错1046怎么解决,DZ报错MySQL Query Error Errno:1046错误的解决办法

    这篇文章主要为大家详细介绍了DZ报错MySQL Query Error Errno:1046错误的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. DZ报 ...

  8. docker mysql 日志_docker中将MySQL运行在容器中失败提示“ InnoDB : Error 22 with aio_write”的解决办法...

    今天利用docker容器创建mysql8.0的时候(window系统),指定了本地宿主机器的一个目录为容器mysql的datadir目录,发现创建失败了. 创建命令: $ docker run -d ...

  9. mysql error nr.2003_[MySQL]在安装windows版MySQL时遇到过如下问题Error Nr.1045和Error.Nr.2003,相应解决办法如下...

    1.准备mysql server-5.0.27.exe 2.按照指导安装,在安装到最后一步时遇到如下两个错误: 2.1.出现错误Error Nr.1045 解决办法: a).停止MySQL服务:我的电 ...

  10. mysql中error22_docker中将MySQL运行在容器中失败提示“ InnoDB : Error 22 with aio_write”的解决办法...

    今天利用docker容器创建 mysql 8.0的时候,指定了本地宿主机器的一个目录为容器mysql的datadir目录,发现创建失败了. 创建命令: $ docker run -d --name m ...

最新文章

  1. 悬浮球 / 悬浮按钮 / 辅助按钮
  2. 如何使用HTML5 Canvas元素来裁剪图像
  3. 自建git服务器连接Pycharm系列二:在centos7上搭建git服务器
  4. 汉王人脸1000万用户后的第一人诞生
  5. dqs server sql_SQL-Server(一)数据库的基本概念
  6. php微信分享接口调用,TP5的微信分享接口和JSSDK使用
  7. Teams Bot如何做全球化
  8. 亡羊补牢or防患未然?在数百套多种数据库中找出风险点(附PPT下载)
  9. Elasticsearch面向文档
  10. 防盗报警器c语言程序,基于AT89C2051设计的无线防盗报警器 附程序
  11. 关于微信网页版WeChat不能正常登录的最佳解决方案
  12. 拒绝百万年薪的郭盛华,如今自立门户,再创辉煌!
  13. WordPress防止自动压缩jpg图片
  14. 使用python制作属于自己的地铁图
  15. Mockplus组件样式库一键解决风格复用
  16. html dwt怎样制作,将HTML文件制作成ecshop的dwt模板(二)建立公共类库1
  17. 【2020】【论文笔记】太赫兹新型探测——太赫兹特性介绍、各种太赫兹探测器
  18. 【磨刀不误砍柴工】(SCH-1217) Could not open “XXschematic“ for edit. Would you like to open it for read?问题。
  19. python语言属于科学计算语言吗_python语言属于( )
  20. 漫谈程序员系列:软件开发的十八般乐趣

热门文章

  1. 已知非线性规划问题,写出K-T条件
  2. 5年磨一剑|优酷Android包瘦身治理思路全解
  3. 苹果系统版本依次顺序_苹果手机排列顺序
  4. 有关SoftICE的详细操作指导教程
  5. 竹子买车商学院,知名汽车人钟志,销售实战培训
  6. Excel查询两列数字的重复值
  7. 微信小程序:二维码DIY背景美化生成器
  8. python文档:控制流(if,for,函数,lambda等)
  9. iOS armv7, armv7s, arm64区别与应用32位、64位配置
  10. 2021-07-15-2021年全球10大最佳单板计算机开发板(SBC)(第1-3名)