gpt4 book ai didi

objective-c - #在 objective-c 中定义

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:51 24 4
gpt4 key购买 nike

#defines 在 Objective-C 中如何工作?

我有 C/C++ 背景,现在正尝试学习 Objective-C。 #defines 在 objective-c 中的工作方式似乎与它们在 c 和 C++ 中的工作方式不同,编译器只是将所有对定义的引用替换为它们应该表示的内容。

当我尝试在 Objective-C 中使用#defines 时,它们有时会起作用。就像我做这样的事情一样;

#define NUMBER 5

int myArray[NUMBER];

我收到编译器错误,说缺少方括号,如果我改用这一行,它就可以正常工作;

int myArray[5];

当然这些应该是同一件事吧?

此外,如果我尝试在任何类型的方程式中使用#define 值,我都会遇到类似的编译器错误。此代码不起作用;

#define NUMBER 5

float var = NUMBER * 0.2;

这很好;

float var = 5 * 0.2;

任何人都知道为什么会这样,或者 Objective-C 编译器如何以不同方式处理#defines。顺便说一下,我正在使用 XCode,以防万一。

最佳答案

#define 在 Objective-C 中的工作方式与在 C 中的工作方式完全相同。在我尝试的快速测试中,您的所有示例对我来说都很好。很可能您还有其他问题导致了您所看到的错误 - 您可以发布您的实际代码和错误消息的文本吗?

关于objective-c - #在 objective-c 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197477/

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