爲什麼編譯器在提供的代碼上給我提供以下錯誤消息:「初始化程序元素不是常量」。相應的C/C++代碼在gcc下完美編譯。Objective-C錯誤:初始化程序元素不是常量
#import <Foundation/Foundation.h>
const float a = 1;
const float b = a + a; // <- error here
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello, World!");
[pool drain];
return 0;
}
你知道的Objective-C是根據GCC編譯呢? – hhafez 2009-01-19 23:22:42
您可以刪除所有Objective-C的東西,並將其編譯爲C,並得到相同的錯誤。 – Chuck 2009-01-20 00:17:53
但是你也可以刪除所有Objective-C的東西,保存到main.c文件並使用gcc main.c進行編譯,它將按預期工作。 (至少它適用於我) – 2009-01-20 11:59:17