定义数组时出错,即使它是通过常量设置的

时间:2009-04-15 18:44:39

标签: c objective-c arrays constants

我知道这是非常基本的,但它让我难过......

在Objective-C中我试着写:

const int BUF_SIZE = 3;

static char buffer[BUF_SIZE+1]; 

但我得到缓冲区的存储大小不是常数。如何让Xcode意识到我将它设置为常量,+ 1 ......?或者这不可能......?

谢谢...!

乔尔

3 个答案:

答案 0 :(得分:3)

我认为这是一个C事物 - 如果我没记错的话,C只允许你用文字表达式指定数组大小(没有任何符号)。我只是使用#define常量作为解决方法。

答案 1 :(得分:1)

您可以使用枚举:

enum
{
    BUF_SIZE = 3
};

或宏

#define BUF_SIZE 3

答案 2 :(得分:1)

发生在gcc中的事情如下:

#define LPBUFFER_LGTH ((int) (2*MS25))

也是。 解决方法如上所述:硬编码您想要的常量。我认为问题在于“定义的定义”即。两次。