关于在case语句中添加局部变量的问题(error C2360)
2013-10-16 15:16
246 查看
这是今天在编程中碰到的问题,当看到
error C2360: initialization of 'wholeAngleOffset' is skipped by 'case' label
的错误信息时,觉得挺莫名其妙的,变量wholeAngleOffset 在后面的语句中又没有被用到,被跳过又有什么关系 呢?
上网搜了下解决办法,完整的解答很少,现将在case语句里定义局部变量的情况总结如下:
switch( x )
{
case 1:
int i = 1; //error C2360; case语句内未加大括号且后面还有case分支
break;
case 2:
{ int j = 1; //success case语句加大括号
break;
}
case 3:
int k =1; //success case语句未加大括号且后面无case分支或default语句
break;
}
总结:
1、若switch中包括default分支,那么是不允许在未加大括号的前提下直接在case语句中定义局部变量的,所以需要在case语句中定义局部变量时,最好将case语句块用大括号括起;
2、C/C++中用大括号{}括起的语句块,可以认为是一段完全独立的代码。
error C2360: initialization of 'wholeAngleOffset' is skipped by 'case' label
的错误信息时,觉得挺莫名其妙的,变量wholeAngleOffset 在后面的语句中又没有被用到,被跳过又有什么关系 呢?
上网搜了下解决办法,完整的解答很少,现将在case语句里定义局部变量的情况总结如下:
switch( x )
{
case 1:
int i = 1; //error C2360; case语句内未加大括号且后面还有case分支
break;
case 2:
{ int j = 1; //success case语句加大括号
break;
}
case 3:
int k =1; //success case语句未加大括号且后面无case分支或default语句
break;
}
总结:
1、若switch中包括default分支,那么是不允许在未加大括号的前提下直接在case语句中定义局部变量的,所以需要在case语句中定义局部变量时,最好将case语句块用大括号括起;
2、C/C++中用大括号{}括起的语句块,可以认为是一段完全独立的代码。
相关文章推荐
- 关于verilog中if与case语句不完整产生锁存器的问题
- 关于verilog中if与case语句不完整产生锁存器的问题 分类: FPGA 2014-11-08 17:39 260人阅读 评论(0) 收藏
- 关于verilog中if与case语句不完整产生锁存器的问题
- 关于C/C++中switch语句case中变量不能初始化赋值的问题
- 关于hql执行带有case when 的语句问题,另:数据表的倒置
- 关于case when语句的报错问题详解
- 关于verilog中if与case语句不完整产生锁存器的问题
- 关于java的try...catch块中finally语句何时被执行的问题
- 关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论
- 关于在myeclipse中添加maven的配置问题 以及使用
- 关于在myeclipse中添加maven的配置问题 以及使用
- 在VC中使用switch语句时遇到“error C2360: initialization of 'k' is skipped by 'case' label”的编译错误。
- 实际——如何给SQL查询添加合计行(sqlserver2008。但是db2的case when 语句end后不能添加其他字段)
- mybatis foreach in查询语句 关于逗号 空值处理问题
- 关于Android添加、判断快捷方式是否已添加的问题
- 关于mysql无法添加中文数据的问题以及解决方案
- SQL语句中关于字符串的拼接问题
- 关于C#中用access做数据库,使用like语句的问题
- C#关于继承后,添加泛型集合中后,再次遍历的问题 !!!
- 关于Access数据库Select语句top关键字后不能跟参数的问题