我想创建一个在我的Objective-C实现文件中使用的常量静态数组,类似于我的".m"文件的顶层.
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Run Code Online (Sandbox Code Playgroud)
我打算NUM_TYPES稍后在文件中使用,所以我想把它放在一个变量中.
但是,当我这样做时,我得到了错误
"在文件范围内修改了'类型'"
我认为这可能与数组大小是变量有关(当我在那里放一个整数文字时,我不会收到此消息static int types[4]).
我想解决这个问题,但也许我说这一切都错了......我在这里有两个目标:
NUM_TYPES到变量中,所以我的文件中的不同位置没有相同的文字有什么建议?
[编辑]在C Faq中找到了这个:http://c-faq.com/ansi/constasconst.html
我有一些像这样的代码:
static int a = 6;
static int b = 3;
static int Hello[a][b] =
{
{ 1,2,3},
{ 1,2,3},
{ 1,2,3},
{ 1,2,3},
{ 1,2,3},
{ 1,2,3}
};
Run Code Online (Sandbox Code Playgroud)
但是当我编译它时,它说错误:
在文件范围内可变地修改了"Hello"
怎么会发生这种情况?我该怎么办呢?