所以,我目前对枚举的理解是我可以用它来制作与数字相对应的常数.所以,
typedef enum
{
number0 = 0,
number1 = 1,
.
.
.
} Numbers;
Run Code Online (Sandbox Code Playgroud)
允许我在代码的每个部分中将0引用为number0.这似乎工作正常.但是,我无法弄清楚如何在Xcode项目中使用它.例如,假设我写了一个类NumberCounter,并在头文件中包含此代码.然后,我写了另一堂课numberCalculator.如果我想在第二个类中使用相同的定义,我是否必须A)在同一个源文件中编写类,或者B)在我想要使用数字的每个文件中包含上面的代码?
如果我将代码包含在一个类中,并在第二个类中排除它,我得到(当试图让函数返回类型的东西时Numbers)一个Parse Issue Expected a Type错误,但是如果我在两个类中包含代码,它会给出一个关于"重新定义枚举器"的错误.目前,我的解决方法是在每个文件中包含代码,然后使用预处理器确保它只执行一次 - 即:
#ifndef NumberDef
#define NumberDef
typedef enum
{
number0 = 0,
number1 = 1,
.
.
.
} Numbers;
#endif
Run Code Online (Sandbox Code Playgroud)
这有效,但我觉得应该有一个很好的简单方法.我在这里错过了什么?
| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |