switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题

例如在如下代码中

case constant:
  int i = 1;
  int j = 2;
  self.sum = i + j; 
  break;

GCC在case语句之后的第一行中声明变量时遇到问题。

这时需要在case块两端添加花括号,GCC就变乖了。

即:

case constant:{
  int i = 1;
  int j = 2;
  self.sum = i + j; 
  break;
}

 


posted @ 2010-11-24 21:10  Fannic  阅读(2048)  评论(0编辑  收藏  举报