功夫Panda

记录一些遇到的问题

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年11月13日

摘要: 今天写程序时碰到这个问题:包含了第三方库的头文件,头文件内有如下声明:extern const int ZOO_CREATED_EVENT;变量在.c文件内定义,已被编译到第三方库中。然后我在switch逻辑中用了上面的常量:switch (type) {case ZOO_CREATED_EVENT: ... break;}编译报错如下,‘ZOO_CREATED_EVENT’ cannot appear in a constant-expression比较诧异!经过查阅了解到,编译器构造switch查找表时需要明确其常量值,而extern常量在编译时尚不能明确,所以会报错。暂时使用" 阅读全文
posted @ 2012-11-13 20:03 功夫Panda 阅读(977) 评论(0) 推荐(0) 编辑