我对我正在观察的情况感到困惑,并希望得到一些见解。首先,我使用 Xcode 5,将 LLVM 5 编译器选项设置为默认值。
我在 .m 文件中有一行,例如:
static NSArray * const kSchemaVersions = @[@"1"];
而且,正如预期的那样,我看到一个编译器错误说Initializer element is not a compile-time constant.
但是,如果我将同一行放在.mm
(Objective C++)文件中,编译器不会抱怨。
我完全理解为什么它不应该工作,但我对它为什么会出现感到困惑。
想法?