Tid*_*dly 3 xcode objective-c c-preprocessor
#defines如何在Objective-C中工作?
我有C/C++的背景,我现在正在尝试选择Objective-C.#defines似乎在objective-c中的工作方式与它们在c和C++中的工作方式相同,其中编译器只是将所有对定义的引用替换为它们应该表示的内容.
当我尝试在Objective-C中使用#defines时,它们有时只能工作.就像我做这样的事情;
#define NUMBER 5
int myArray[NUMBER];
Run Code Online (Sandbox Code Playgroud)
我得到编译器错误,说有一个方括号丢失,如果我使用这一行而不是它工作正常;
int myArray[5];
Run Code Online (Sandbox Code Playgroud)
当然这些都应该是一回事吗?
此外,如果我尝试在任何类型的方程中使用#define值,我会得到类似的编译器错误.这段代码不起作用;
#define NUMBER 5
float var = NUMBER * 0.2;
Run Code Online (Sandbox Code Playgroud)
哪个好,
float var = 5 * 0.2;
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么会这样,或者Objective-C编译器如何以不同的方式处理#defines.顺便说一下,我正在使用XCode,只是因为这会产生影响.
#define在Objective-C中的工作方式与它在C中的工作方式完全相同.在我尝试的快速测试中,您的所有示例都可以正常工作.您可能还有其他问题导致您看到的错误 - 您可以发布实际代码和错误消息的文本吗?
| 归档时间: |
|
| 查看次数: |
3647 次 |
| 最近记录: |