extern定义的常量在Switch中报错“expression is not an integer constant expression”

If you set the value of the constant in the .m, it is not visible by other translation units that only include the .h file. The value of the constant must be known at compile time to be able to be used in a case within a switch.

意思是:当使用extern在.h中声明常量,在.m中给该常量赋值,意味着外部不能知道该常量的值,只能使用,而switch中case的值是需要在编译阶段就要知道case的具体常量值,但是这个是extern无法做到的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #每日教练问题# 假如你是我。 四川的地震当中有人会觉得这次的地震防范措施比较强,受伤人数幸好比较少。但有的人就觉...
    雨婷儿呀阅读 200评论 0 0
  • 户外活动两小时,天气太热,没做践行,由娃自由看绘本。
    韦钰阅读 157评论 0 0
  • 是雾,是霾, 还是三月的风在作祟 迷茫在潮水般的人海 徘徊在陌生的城市高地 脚步迟疑 一个精致的魔方里 变幻着红红...
    若秋的行板阅读 207评论 0 0