【发布时间】:2012-06-26 23:44:52
【问题描述】:
我精通以下典型范例:
//.h
extern const int myInt;
//.c, .m, .cpp, what have you
const int myInt = 55;
但必须有一种方法可以将其放入 .h 文件中,以便与无法访问实现文件的库或其他实例一起使用。
例如,我正在尝试将 NSString 常量添加到 Xcode 项目中的 .h 文件中,如下所示:
static NSString *const myString = @"my_string";
但是,当我尝试使用 myString 时,我得到了错误
Initializer 元素不是编译时常量
在myString 上,表示它没有被正确实例化。如何在 C++ 或 Objecitve-C 头文件中声明编译时常量?
【问题讨论】:
-
那么这意味着是 C 还是 C++?您可以在 C++ 中使用运行时表达式初始化全局变量,但在 C 中则不行。
-
很高兴知道 C 不可能。将更新标签。
标签: c++ objective-c constants header-files compile-time-constant