これまで、関数の引数が である場合、enum
内で定義された値しか保持できないと考えていましたenum
。しかし、私の場合、それは間違っていることがわかりました。
コード:
typedef enum
{
a = 0,
b,
c
} X;
typedef enum
{
e = 3
} Y;
void fn (X var)
{
printf ("%d",var);
}
int main()
{
fn (e);
return 0;
}
関数fn()
は値 e を受け入れ、その出力は 3 でした。なぜそうなりますか?