开发者社区> 问答> 正文

在文件范围内可变地修改数组

我想创建一个恒定的静态数组,以便在我的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

展开
收起
保持可爱mmm 2020-02-08 14:31:25 567 0
1 条回答
写回答
取消 提交回答
  • 如果仍然要使用预处理器(按照其他答案),则可以使编译器NUM_TYPES自动确定值:

    #define NUM_TYPES (sizeof types / sizeof types[0]) static int types[] = { 1, 2, 3, 4 };

    2020-02-08 14:31:38
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载