#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,只是因为它有所作为.