2

typedef enums定数ファイルで複数の関連を宣言している状況があります。

typedef enum 
{
    AnimalTypeBear,
    AnimalTypeBunny,
    MemeTypeCount
} 
AnimalType;

typedef enum 
{
    FishTypeSalmon,
    FishTypeTrout,
    FishTypeCount
} 
FishType;

typeここで、これらの両方をパラメーターとして受け取ることができる、呼び出された初期化子のパラメーターを定義したいと思いtypedef enumsます。私は現在型を として定義していNSUIntegerますが、どの型をイニシャライザに送信しても 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);
}

呼び出すと1が出力されますTestFunction(FishTypeTrout);

それは役に立ちますか?

于 2012-10-25T22:22:56.503 に答える