我想创建一个恒定的静态数组,以便在我的Objective-C实现文件中使用,类似于在“ .m”文件的顶层进行如下操作:
static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; 我计划NUM_TYPES稍后在文件中使用它,因此我想将其放入变量中。
但是,当我这样做时,我得到了错误
“文件范围内的可变修改的'类型'”
我收集到这可能与数组大小是变量有关(当我在其中放置整数文字时,我没有得到此消息static int types[4])。
我想解决这个问题,但也许我会做错所有事情……我在这里有2个目标:
具有整个文件可访问的数组 封装NUM_TYPES到变量中,这样我就不会在文件的不同位置散布相同的文字 有什么建议么?问题来源于stack overflow
如果仍然要使用预处理器(按照其他答案),则可以使编译器NUM_TYPES自动确定值:
#define NUM_TYPES (sizeof types / sizeof types[0]) static int types[] = { 1, 2, 3, 4 };
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。