定义数组时出错,即使它是通过常量设置的
我知道这确实很基本,但它让我难住了......
在 Objective-C 中我试图写:
const int BUF_SIZE = 3;
static char buffer[BUF_SIZE+1];
但我得到的缓冲区的存储大小不是恒定的。 如何让 Xcode 意识到我将其设置为常量 + 1...? 或者这不可能......?
谢谢...!
乔尔
I know this is really basic, but its got me stumped...
In Objective-C I'm trying to write:
const int BUF_SIZE = 3;
static char buffer[BUF_SIZE+1];
But I get a storage size of buffer isn't constant. How do I make Xcode realise that I'm setting it to a constant, + 1...? Or is this not possible...?
Thanks...!
Joel
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为这是 C 的事情——如果我没记错的话,C 只允许你用文字表达式(没有任何符号)指定数组大小。 我只是使用
#define
常量作为解决方法。I think it's a C thing—if I recall correctly, C only allows you to specify array sizes with literal expressions (no symbols whatsoever). I'd just use a
#define
constant as a workaround.您可以使用枚举:
或宏
You can use an enum:
Or a macro
在 gcc 中也会发生这样的事情:
以及。
解决方法如上所述:硬编码您想要的常量。 我认为问题在于“定义的定义”,即。 两次。
Happens in gcc with things like:
as well.
Workaround as above: hardcode the constant you want. I think the problem is with a 'define of a define' ie. twice.