Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3350855
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: C/C++

2009-04-30 14:27:25

我在编译我的例子时,在模拟器上编译没有问题。但转到release环境时,编译失败。

出现

 error: jump to case label

这种错误,提示问题出现在下面这段代码上

switch(aIndicatorIconType)
  {
  
  case EIndicatorIconEmpty:
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick_mask);
  
  break;

  case EIndicatorIconAppActive:
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTock);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTock_mask);
  
   break;

  case EIndicatorIconAppInactive: 
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick_mask);
  
   break;

  default:
   break;
  }

在网上 google 了一下,说明没可在每个 case 上加括号引起的。

将代码改为 :

switch(aIndicatorIconType)
  {  
  case EIndicatorIconEmpty:{
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick_mask);
  }
  break;

  case EIndicatorIconAppActive:{
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTock);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTock_mask);
  }
   break;

  case EIndicatorIconAppInactive: {
   iIndicator = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick);
   iIndicatorMask = CEikonEnv::Static()->CreateBitmapL(KSysIconFile, EMbmTestbitmapTick_mask);
  }
   break;

  default:
   break;
  }

测试通过。希望对遇到这个问题的朋友能有所帮助。:)

 

 

 

阅读(1288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~