Tại sao trình biên dịch cung cấp cho tôi thông báo lỗi sau trên mã được cung cấp: "phần tử initializer không phải là hằng số". Mã C/C++ tương ứng biên dịch hoàn toàn theo gcc.Lỗi mục tiêu-C: phần tử khởi tạo không phải là hằng số
#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;
}
bạn biết rằng Objective-C được biên soạn dưới gcc không? – hhafez
Bạn có thể loại bỏ tất cả các công cụ Objective-C và biên dịch nó thành C và bạn gặp lỗi tương tự. – Chuck
Nhưng bạn cũng có thể loại bỏ tất cả các công cụ Objective-C, lưu vào tập tin main.c và biên dịch với main.c gcc và nó sẽ hoạt động như mong đợi. (ít nhất nó hoạt động cho tôi) –