gpt4 book ai didi

Objective-C 错误 : initializer element is not constant

转载 作者:太空狗 更新时间:2023-10-30 03:25:56 25 4
gpt4 key购买 nike

为什么编译器在提供的代码上给我以下错误消息:“初始化器元素不是常量”。相应的C/C++代码在gcc下完美编译。

#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;
}

最佳答案

只有当 const float 语句出现在文件范围以外的地方时,该代码才能正确编译。

显然,它是标准的一部分。重要的是,所有文件范围声明的变量都使用常量表达式而不是涉及常量变量的表达式进行初始化。

您正在使用另一个对象的值初始化 float “b”。任何对象的值,即使它是 const 限定的,也不是 C 中的常量表达式。

关于 Objective-C 错误 : initializer element is not constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/459530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com