我精通典型的范例:
//.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元素不是编译时常量
on myString
,表示未正确实例化。如何在C ++或Objecitve-C头文件中声明编译时常量?
答案 0 :(得分:18)
在C ++中,const
对象具有内部链接,除非明确声明extern
,因此将定义放入头文件中没有问题,例如:
const int myInt = 55;
使用此定义和第一个声明,myInt
可以用作整数常量表达式,例如数组边界等。
我无法回答目标C.