2

我有一种情况,我typedef enums在我的常量文件中声明了多个相关:

typedef enum 
{
    AnimalTypeBear,
    AnimalTypeBunny,
    MemeTypeCount
} 
AnimalType;

typedef enum 
{
    FishTypeSalmon,
    FishTypeTrout,
    FishTypeCount
} 
FishType;

现在我想为调用的初始化程序定义一个参数,该初始化type程序可以将这两个typedef enums作为参数。我目前将类型定义为 anNSUInteger并且无论我将哪种类型发送到初始化程序中,我都会得到 0(即 FishTypeTrout 应该是 1 但它是 0)。什么类型的对象应该type适用于两个enter code heretypeDef 枚举?

4

1 回答 1

2

我不是 100% 确定你在问什么,但我尝试了以下代码:

typedef enum AnimalType : NSUInteger
{
    AnimalTypeBear,
    AnimalTypeBunny,
    MemeTypeCount
} AnimalType;


typedef enum FishType : NSUInteger
{
    FishTypeSalmon,
    FishTypeTrout,
    FishTypeCount
} FishType;


void TestFunction(NSUInteger at)
{
    printf("at = %d\n",at);
}

当我打电话时它打印 1TestFunction(FishTypeTrout);

这有帮助吗?

于 2012-10-25T22:22:56.503 回答